brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 4a605b3 Raw
109 lines · c
1// RUN: %clang_cc1 %s -fsyntax-only -verify -Wduplicate-enum2// RUN: %clang_cc1 -triple x86_64-apple-darwin %s -x c++ -DCPP -fsyntax-only -verify -Wduplicate-enum3enum A {4  A1 = 0,  // expected-note {{element 'A1' also has value 0}}5  A2 = -1,6  A3,  // expected-warning {{element 'A3' has been implicitly assigned 0 which another element has been assigned}}7  A4};8 9enum B {10  B1 = -1,  // expected-note {{element 'B1' also has value -1}}11  B2,       // expected-warning {{element 'B2' has been implicitly assigned 0 which another element has been assigned}}12  B3,13  B4 = -2,14  B5,  // expected-warning {{element 'B5' has been implicitly assigned -1 which another element has been assigned}}15  B6   // expected-note {{element 'B6' also has value 0}}16};17 18enum C { C1, C2 = -1, C3 }; // expected-warning{{element 'C1' has been implicitly assigned 0 which another element has been assigned}} \19  // expected-note {{element 'C3' also has value 0}}20 21enum D {22  D1,23  D2,24  D3,  // expected-warning{{element 'D3' has been implicitly assigned 2 which another element has been assigned}}25  D4 = D2,  // no warning26  D5 = 2  // expected-note {{element 'D5' also has value 2}}27};28 29enum E {30  E1,31  E2 = E1,32  E3 = E233};34 35enum F {36  F1,37  F2,38  FCount,39  FMax = FCount - 140};41 42enum G {43  G1,44  G2,45  GMax = G2,46  GCount = GMax + 147};48 49enum {50  H1 = 0,51  H2 = -1,52  H3,53  H4};54 55enum {56  I1 = -1,57  I2,58  I3,59  I4 = -2,60  I5,61  I662};63 64enum { J1, J2 = -1, J3 };65 66enum { 67  K1, 68  K2, 69  K3,70  K4 = K2,71  K5 = 272};73 74enum {75  L1,76  L2 = L1,77  L3 = L278};79 80enum {81  M1,82  M2,83  MCount,84  MMax = MCount - 185};86 87enum {88  N1,89  N2,90  NMax = N2,91  NCount = NMax + 192};93 94// PR1569395enum enum1 {96  VALUE // expected-note{{previous definition is here}}97};98 99enum enum2 {100  VALUE // expected-error{{redefinition of enumerator 'VALUE'}}101};102 103#ifdef CPP104enum BigEnumerators : long {105  e1,106  e2 = __LONG_MAX__,107};108#endif109