blob: ce0b23f453bec4eeba761a3209f0a07041eabab1 [file] [log] [blame]
REQUIRES: windows
RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.enums.obj
RUN: link %T/SimpleTypesTest.cpp.enums.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.enums.exe
RUN: lldb-test symbols %T/SimpleTypesTest.cpp.enums.exe | FileCheck %s
; FIXME: PDB does not have information about scoped enumeration (Enum class) so the
; compiler type used is the same as the one for unscoped enumeration.
CHECK: Module [[CU:.*]]
CHECK-DAG: {{^[0-9A-F]+}}: SymbolVendor ([[CU]])
CHECK: Type{{.*}} , name = "Enum", size = 4, decl = SimpleTypesTest.cpp:19, compiler_type = {{.*}} enum Enum {
CHECK-NEXT: RED,
CHECK-NEXT: GREEN,
CHECK-NEXT: BLUE
CHECK-NEXT:}
CHECK: Type{{.*}} , name = "EnumConst", size = 4, decl = SimpleTypesTest.cpp:22, compiler_type = {{.*}} enum EnumConst {
CHECK-NEXT: LOW,
CHECK-NEXT: NORMAL,
CHECK-NEXT: HIGH
CHECK-NEXT:}
CHECK: Type{{.*}} , name = "EnumEmpty", size = 4, decl = SimpleTypesTest.cpp:25, compiler_type = {{.*}} enum EnumEmpty {
CHECK-NEXT:}
CHECK: Type{{.*}} , name = "EnumUChar", size = 1, decl = SimpleTypesTest.cpp:28, compiler_type = {{.*}} enum EnumUChar {
CHECK-NEXT: ON,
CHECK-NEXT: OFF,
CHECK-NEXT: AUTO
CHECK-NEXT:}
; Note that `enum EnumClass` is tested instead of `enum class EnumClass`
CHECK: Type{{.*}} , name = "EnumClass", size = 4, decl = SimpleTypesTest.cpp:32, compiler_type = {{.*}} enum EnumClass {
CHECK-NEXT: YES,
CHECK-NEXT: NO,
CHECK-NEXT: DEFAULT
CHECK-NEXT:}
CHECK: Type{{.*}} , name = "EnumStruct", size = 4, decl = SimpleTypesTest.cpp:35, compiler_type = {{.*}} enum EnumStruct {
CHECK-NEXT: red,
CHECK-NEXT: blue,
CHECK-NEXT: black
CHECK-NEXT:}
CHECK-DAG: {{^[0-9A-F]+}}: CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\SimpleTypesTest.cpp'