blob: dc1a921852e6c18b8e98a34b4da15f10b787b32a [file] [log] [blame]
Richard Trieu493df1a2013-08-08 01:50:23 +00001// RUN: %clang_cc1 -fsyntax-only %s -verify
2
3enum A { A1, A2, A3 };
4void 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
12enum B {B1, B2};
13inline B &operator++ (B &b) { b = B((int)b+1); return b; }
14inline B operator++ (B &b, int) { B ret = b; ++b; return b; }
15
16void foo(enum B b) { ++b; b++; }