Home | History | Annotate | Download | only in SemaCXX
      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