brintos

brintos / llvm-project-archived public Read only

0
0
Text · 560 B · dc1a921 Raw
17 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only %s -verify2 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++; }17