| REQUIRES: windows |
| RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.typedefs.obj |
| RUN: link %T/SimpleTypesTest.cpp.typedefs.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.typedefs.exe |
| RUN: lldb-test symbols %T/SimpleTypesTest.cpp.typedefs.exe | FileCheck %s |
| |
| ; Generate 32-bit target |
| |
| ; FIXME: PDB does not have line information for typedef statements so source |
| ; and line information for them is not tested. |
| |
| ; Note, types `long double` and `double` have same bit size in MSVC and there |
| ; is no information in the PDB to distinguish them. So the compiler type for |
| ; both of them is the same. |
| |
| CHECK: Module [[MOD:.*]] |
| CHECK: {{^[0-9A-F]+}}: SymbolVendor ([[MOD]]) |
| CHECK-DAG: name = "char32_t", size = 4, compiler_type = {{.*}} char32_t |
| CHECK-DAG: name = "char16_t", size = 2, compiler_type = {{.*}} char16_t |
| CHECK-DAG: Type{{.*}} , name = "unsigned long", size = 4, compiler_type = {{.*}} unsigned long |
| CHECK-DAG: Type{{.*}} , size = 40, compiler_type = {{.*}} unsigned long [10] |
| CHECK-DAG: Type{{.*}} , name = "ULongArrayTypedef", compiler_type = {{.*}} typedef ULongArrayTypedef |
| |
| ; Note: compiler_type of `long double` is represented by the one for `double` |
| CHECK-DAG: Type{{.*}} , name = "double", size = 8, compiler_type = {{.*}} double |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} double * |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} double *& |
| CHECK-DAG: Type{{.*}} , name = "RefTypedef", compiler_type = {{.*}} typedef RefTypedef |
| |
| CHECK-DAG: Type{{.*}} , name = "wchar_t", size = 2, compiler_type = {{.*}} wchar_t |
| |
| CHECK-DAG: Type{{.*}} , name = "int", size = 4, compiler_type = {{.*}} int |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} int & |
| CHECK-DAG: Type{{.*}} , name = "unsigned char", size = 1, compiler_type = {{.*}} unsigned char |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} unsigned char * |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} unsigned char ** |
| CHECK-DAG: Type{{.*}} , name = "short", size = 2, compiler_type = {{.*}} short |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} short * |
| CHECK-DAG: Type{{.*}} , name = "const double", size = 8, compiler_type = {{.*}} const double |
| CHECK-DAG: Type{{.*}} , name = "volatile bool", size = 1, compiler_type = {{.*}} volatile _Bool |
| CHECK-DAG: Type{{.*}} , name = "long long", size = 8, compiler_type = {{.*}} long long |
| CHECK-DAG: Type{{.*}} , compiler_type = {{.*}} long long (int &, unsigned char **, short *, const double, volatile _Bool) |
| CHECK-DAG: Type{{.*}} , name = "FuncPtrTypedef", compiler_type = {{.*}} typedef FuncPtrTypedef |
| |
| CHECK-DAG: Type{{.*}} , name = "void", compiler_type = {{.*}} void |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} void * |
| CHECK-DAG: Type{{.*}} , name = "long", size = 4, compiler_type = {{.*}} long |
| CHECK-DAG: Type{{.*}} , name = "unsigned short", size = 2, compiler_type = {{.*}} unsigned short |
| CHECK-DAG: Type{{.*}} , name = "unsigned int", size = 4, compiler_type = {{.*}} unsigned int |
| CHECK-DAG: Type{{.*}} , name = "signed char", size = 1, compiler_type = {{.*}} signed char |
| CHECK-DAG: Type{{.*}} , compiler_type = {{.*}} signed char (void *, long, unsigned short, unsigned int, ...) |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} signed char (*)(void *, long, unsigned short, unsigned int, ...) |
| CHECK-DAG: Type{{.*}} , name = "VarArgsFuncTypedef", compiler_type = {{.*}} typedef VarArgsFuncTypedef |
| |
| CHECK-DAG: Type{{.*}} , name = "float", size = 4, compiler_type = {{.*}} float |
| CHECK-DAG: Type{{.*}} , compiler_type = {{.*}} float (...) |
| CHECK-DAG: Type{{.*}} , size = 4, compiler_type = {{.*}} float (*)(...) |
| CHECK-DAG: Type{{.*}} , name = "VarArgsFuncTypedefA", compiler_type = {{.*}} typedef VarArgsFuncTypedefA |
| |
| CHECK-DAG: {{^[0-9A-F]+}}: CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\SimpleTypesTest.cpp' |