brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 55f5884 Raw
55 lines · c
1// RUN: %check_clang_tidy %s bugprone-invalid-enum-default-initialization %t2 3enum Enum1 {4  Enum1_A = 1,5  Enum1_B6};7 8struct Struct1 {9  int a;10  enum Enum1 b;11};12 13struct Struct2 {14  struct Struct1 a;15  char b;16};17 18enum Enum1 E1 = {};19// CHECK-NOTES: :[[@LINE-1]]:17: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator20// CHECK-NOTES: :3:6: note: enum is defined here21enum Enum1 E2[10] = {};22// CHECK-NOTES: :[[@LINE-1]]:21: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator23// CHECK-NOTES: :3:6: note: enum is defined here24enum Enum1 E3[10] = {Enum1_A};25// CHECK-NOTES: :[[@LINE-1]]:21: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator26// CHECK-NOTES: :3:6: note: enum is defined here27enum Enum1 E4[2][2] = {{Enum1_A}, {Enum1_A}};28// CHECK-NOTES: :[[@LINE-1]]:24: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator29// CHECK-NOTES: :3:6: note: enum is defined here30// CHECK-NOTES: :[[@LINE-3]]:35: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator31// CHECK-NOTES: :3:6: note: enum is defined here32enum Enum1 E5[2][2] = {{Enum1_A, Enum1_A}};33// CHECK-NOTES: :[[@LINE-1]]:23: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator34// CHECK-NOTES: :3:6: note: enum is defined here35 36 37struct Struct1 S1[2][2] = {{{1, Enum1_A}, {2, Enum1_A}}};38// CHECK-NOTES: :[[@LINE-1]]:27: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator39// CHECK-NOTES: :3:6: note: enum is defined here40 41struct Struct2 S2[3] = {{1}};42// CHECK-NOTES: :[[@LINE-1]]:24: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator43// CHECK-NOTES: :3:6: note: enum is defined here44// CHECK-NOTES: :[[@LINE-3]]:26: warning: enum value of type 'Enum1' initialized with invalid value of 0, enum doesn't have a zero-value enumerator45// CHECK-NOTES: :3:6: note: enum is defined here46 47union Union1 {48  enum Enum1 a;49  int b;50};51 52// no warnings for union53union Union1 U1 = {};54union Union1 U2[3] = {};55