xref: /aosp_15_r20/external/clang/test/PCH/debug-info-pch-path.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // REQUIRES: shell
2*67e74705SXin Li //
3*67e74705SXin Li // RUN: rm -rf %t
4*67e74705SXin Li // RUN: mkdir %t
5*67e74705SXin Li // RUN: cd %t
6*67e74705SXin Li //
7*67e74705SXin Li // ---------------------------------------------------------------------
8*67e74705SXin Li // Relative PCH, same directory.
9*67e74705SXin Li // ---------------------------------------------------------------------
10*67e74705SXin Li //
11*67e74705SXin Li // RUN: %clang_cc1 -fmodule-format=obj -emit-pch                \
12*67e74705SXin Li // RUN:     -triple %itanium_abi_triple                         \
13*67e74705SXin Li // RUN:     -o prefix.pch %S/debug-info-limited-struct.h
14*67e74705SXin Li //
15*67e74705SXin Li // RUN: %clang_cc1 -debug-info-kind=standalone                  \
16*67e74705SXin Li // RUN:     -dwarf-ext-refs -fmodule-format=obj                 \
17*67e74705SXin Li // RUN:     -triple %itanium_abi_triple                         \
18*67e74705SXin Li // RUN:     -include-pch prefix.pch %s -emit-llvm -o %t.nodir.ll %s
19*67e74705SXin Li // RUN: cat %t.nodir.ll | FileCheck %s --check-prefix=CHECK-REL-NODIR
20*67e74705SXin Li //
21*67e74705SXin Li //
22*67e74705SXin Li // CHECK-REL-NODIR: !DICompileUnit
23*67e74705SXin Li // CHECK-REL-NODIR-SAME:           file: ![[C:[0-9]+]]
24*67e74705SXin Li // CHECK-REL-NODIR-NOT: dwoId
25*67e74705SXin Li // CHECK-REL-NODIR: ![[C]] = !DIFile({{.*}}directory: "[[DIR:.*]]"
26*67e74705SXin Li // CHECK-REL-NODIR: !DICompileUnit(
27*67e74705SXin Li // CHECK-REL-NODIR-SAME:           file: ![[PCH:[0-9]+]]
28*67e74705SXin Li // CHECK-REL-NODIR-SAME:           splitDebugFilename: "prefix.pch"
29*67e74705SXin Li // CHECK-REL-NODIR: ![[PCH]] = !DIFile({{.*}}directory: "[[DIR]]"
30*67e74705SXin Li 
31*67e74705SXin Li // ---------------------------------------------------------------------
32*67e74705SXin Li // Relative PCH in a subdirectory.
33*67e74705SXin Li // ---------------------------------------------------------------------
34*67e74705SXin Li //
35*67e74705SXin Li // RUN: mkdir pchdir
36*67e74705SXin Li // RUN: %clang_cc1 -fmodule-format=obj -emit-pch                \
37*67e74705SXin Li // RUN:     -triple %itanium_abi_triple                         \
38*67e74705SXin Li // RUN:     -o pchdir/prefix.pch %S/debug-info-limited-struct.h
39*67e74705SXin Li //
40*67e74705SXin Li // RUN: %clang_cc1 -debug-info-kind=standalone                  \
41*67e74705SXin Li // RUN:     -dwarf-ext-refs -fmodule-format=obj                 \
42*67e74705SXin Li // RUN:     -triple %itanium_abi_triple                         \
43*67e74705SXin Li // RUN:     -include-pch pchdir/prefix.pch %s -emit-llvm -o %t.rel.ll %s
44*67e74705SXin Li // RUN: cat %t.rel.ll | FileCheck %s --check-prefix=CHECK-REL
45*67e74705SXin Li 
46*67e74705SXin Li // CHECK-REL: !DICompileUnit
47*67e74705SXin Li // CHECK-REL-SAME:           file: ![[C:[0-9]+]]
48*67e74705SXin Li // CHECK-REL-NOT: dwoId
49*67e74705SXin Li // CHECK-REL: ![[C]] = !DIFile({{.*}}directory: "[[DIR:.*]]"
50*67e74705SXin Li // CHECK-REL: !DICompileUnit(
51*67e74705SXin Li // CHECK-REL-SAME:           file: ![[PCH:[0-9]+]]
52*67e74705SXin Li // CHECK-REL-SAME:           splitDebugFilename: "prefix.pch"
53*67e74705SXin Li // CHECK-REL: ![[PCH]] = !DIFile({{.*}}directory: "[[DIR]]{{.*}}pchdir"
54*67e74705SXin Li 
55*67e74705SXin Li // ---------------------------------------------------------------------
56*67e74705SXin Li // Absolute PCH.
57*67e74705SXin Li // ---------------------------------------------------------------------
58*67e74705SXin Li //
59*67e74705SXin Li // RUN: %clang_cc1 -fmodule-format=obj -emit-pch                \
60*67e74705SXin Li // RUN:     -triple %itanium_abi_triple                         \
61*67e74705SXin Li // RUN:     -o %t/prefix.pch %S/debug-info-limited-struct.h
62*67e74705SXin Li //
63*67e74705SXin Li // RUN: %clang_cc1 -debug-info-kind=standalone                  \
64*67e74705SXin Li // RUN:     -dwarf-ext-refs -fmodule-format=obj                 \
65*67e74705SXin Li // RUN:     -triple %itanium_abi_triple                         \
66*67e74705SXin Li // RUN:     -include-pch %t/prefix.pch %s -emit-llvm -o %t.abs.ll %s
67*67e74705SXin Li // RUN: cat %t.abs.ll | FileCheck %s --check-prefix=CHECK-ABS
68*67e74705SXin Li 
69*67e74705SXin Li // CHECK-ABS: !DICompileUnit
70*67e74705SXin Li // CHECK-ABS-SAME:           file: ![[C:[0-9]+]]
71*67e74705SXin Li // CHECK-ABS-NOT: dwoId
72*67e74705SXin Li // CHECK-ABS: ![[C]] = !DIFile({{.*}}directory: "[[DIR:.*]]"
73*67e74705SXin Li // CHECK-ABS: !DICompileUnit(
74*67e74705SXin Li // CHECK-ABS-SAME:           file: ![[PCH:[0-9]+]]
75*67e74705SXin Li // CHECK-ABS-SAME:           splitDebugFilename: "prefix.pch"
76*67e74705SXin Li // CHECK-ABS: ![[PCH]] = !DIFile({{.*}}directory: "[[DIR]]"
77