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++; } 17