1REQUIRES: system-windows, msvc
2RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --output=%T/TypeQualsTest.cpp.obj %S/Inputs/TypeQualsTest.cpp
3RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --output=%T/TypeQualsTest.cpp.exe %T/TypeQualsTest.cpp.obj
4RUN: lldb-test symbols %T/TypeQualsTest.cpp.exe | FileCheck %s
5
6CHECK: Module [[MOD:.*]]
7CHECK-DAG: SymbolFile pdb ([[MOD]])
8CHECK-DAG:      Type{{.*}} , name = "const int", size = 4, compiler_type = {{.*}} const int
9CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int *
10CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int **const
11CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int *const
12CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int *const *
13CHECK-DAG:      Type{{.*}} , name = "Func1", {{.*}}, compiler_type = {{.*}} void (const int *, const int *, const int **const, const int *const *)
14
15CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} volatile int *
16CHECK-DAG:      Type{{.*}} , name = "Func2", {{.*}}, compiler_type = {{.*}} void (volatile int *, volatile int *)
17
18CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int *
19CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int *&
20CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int &&
21CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int &
22CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} const int &
23CHECK-DAG:      Type{{.*}} , name = "Func3", {{.*}}, compiler_type = {{.*}} void (int *&, int &, const int &, int &&)
24
25// FIXME: __unaligned is not supported.
26CHECK-DAG:      Type{{.*}} , name = "Func4", {{.*}}, compiler_type = {{.*}} void (int *, int *)
27
28CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int *__restrict
29CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} int &__restrict
30CHECK-DAG:      Type{{.*}} , name = "Func5", {{.*}}, compiler_type = {{.*}} void (int, int *__restrict, int &__restrict)
31
32CHECK-DAG:      Type{{.*}} , name = "Func6", {{.*}}, compiler_type = {{.*}} void (const volatile int *__restrict)
33
34CHECK-DAG:      Type{{.*}} , size = 400, compiler_type = {{.*}} volatile int *[100]
35CHECK-DAG:      Type{{.*}} , size = 4000, compiler_type = {{.*}} volatile int *[10][100]
36
37CHECK-DAG:      Type{{.*}} , size = 4, compiler_type = {{.*}} long *__restrict
38
39CHECK-DAG: {{^[0-9A-F]+}}:   CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\TypeQualsTest.cpp'
40