Mercurial > hg > CbC > CbC_llvm
annotate clang/test/SemaCXX/enum-increment.cpp @ 222:81f6424ef0e3 llvm-original
LLVM original branch
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Jul 2021 22:10:01 +0900 |
parents | 1d019706d866 |
children |
rev | line source |
---|---|
150 | 1 // RUN: %clang_cc1 -fsyntax-only %s -verify |
2 | |
3 enum A { A1, A2, A3 }; | |
4 void test() { | |
5 A a; | |
6 a++; // expected-error{{cannot increment expression of enum type 'A'}} | |
7 a--; // expected-error{{cannot decrement expression of enum type 'A'}} | |
8 ++a; // expected-error{{cannot increment expression of enum type 'A'}} | |
9 --a; // expected-error{{cannot decrement expression of enum type 'A'}} | |
10 } | |
11 | |
12 enum B {B1, B2}; | |
13 inline B &operator++ (B &b) { b = B((int)b+1); return b; } | |
14 inline B operator++ (B &b, int) { B ret = b; ++b; return b; } | |
15 | |
16 void foo(enum B b) { ++b; b++; } |