summaryrefslogtreecommitdiff
path: root/lldb/test/Shell/SymbolFile/PDB/type-quals.test
blob: 370c0a21b093af4aaad4870e0b73deea87a31e11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
REQUIRES: target-windows, msvc
RUN: mkdir -p %t.dir
RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --output=%t.dir/TypeQualsTest.cpp.obj %S/Inputs/TypeQualsTest.cpp
RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --output=%t.dir/TypeQualsTest.cpp.exe %t.dir/TypeQualsTest.cpp.obj
RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols %t.dir/TypeQualsTest.cpp.exe | FileCheck %s
RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols %t.dir/TypeQualsTest.cpp.exe | FileCheck %s

CHECK: Module [[MOD:.*]]
CHECK-DAG: SymbolFile {{(native-)?}}pdb ([[MOD]])
CHECK-DAG:      Type{{.*}} , name = "const int", size = 4, compiler_type = {{.*}} const int
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int *
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int **const
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int *const
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int *const *
CHECK-DAG:      Type{{.*}} , {{.*}}, compiler_type = {{.*}} void (const int *, const int *, const int **const, const int *const *)

CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} volatile int *
CHECK-DAG:      Type{{.*}} , {{.*}}, compiler_type = {{.*}} void (volatile int *, volatile int *)

CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int *
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int *&
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int &&
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int &
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int &
CHECK-DAG:      Type{{.*}} , {{.*}}, compiler_type = {{.*}} void (int *&, int &, const int &, int &&)

// FIXME: __unaligned is not supported.
CHECK-DAG:      Type{{.*}} , {{.*}}, compiler_type = {{.*}} void (int *, int *)

CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int *__restrict
CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int &__restrict
CHECK-DAG:      Type{{.*}} , {{.*}}, compiler_type = {{.*}} void (int, int *__restrict, int &__restrict)

CHECK-DAG:      Type{{.*}} , name = "{{volatile const|const volatile}} int", size = 4, compiler_type = {{.*}} {{volatile const|const volatile}} int
CHECK-DAG:      Type{{.*}} , {{.*}}, compiler_type = {{.*}} void (const volatile int *__restrict)

CHECK-DAG:      Type{{.*}} , size = 400, compiler_type = {{.*}} volatile int *[100]
CHECK-DAG:      Type{{.*}} , size = 4000, compiler_type = {{.*}} volatile int *[10][100]

CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} long *__restrict

CHECK-DAG: {{^[0-9A-F]+}}:   CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\TypeQualsTest.cpp'