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