80 lines · c
1// Unsupported on AIX because we don't support the requisite "__clangast"2// section in XCOFF yet.3// UNSUPPORTED: target={{.*}}-aix{{.*}}4 5// RUN: rm -rf %t6// RUN: mkdir %t7// RUN: cd %t8//9// ---------------------------------------------------------------------10// Relative PCH, same directory.11// ---------------------------------------------------------------------12//13// RUN: %clang_cc1 -fmodule-format=obj -emit-pch \14// RUN: -triple %itanium_abi_triple \15// RUN: -o prefix.pch %S/debug-info-limited-struct.h16//17// RUN: %clang_cc1 -debug-info-kind=standalone \18// RUN: -dwarf-ext-refs -fmodule-format=obj \19// RUN: -triple %itanium_abi_triple \20// RUN: -include-pch prefix.pch %s -emit-llvm -o %t.nodir.ll %s21// RUN: cat %t.nodir.ll | FileCheck %s --check-prefix=CHECK-REL-NODIR22//23//24// CHECK-REL-NODIR: !DICompileUnit25// CHECK-REL-NODIR-SAME: file: ![[C:[0-9]+]]26// CHECK-REL-NODIR-NOT: dwoId27// CHECK-REL-NODIR: ![[C]] = !DIFile({{.*}}directory: "[[DIR:.*]]"28// CHECK-REL-NODIR: !DICompileUnit(29// CHECK-REL-NODIR-SAME: file: ![[PCH:[0-9]+]]30// CHECK-REL-NODIR-SAME: splitDebugFilename: "prefix.pch"31// CHECK-REL-NODIR: ![[PCH]] = !DIFile({{.*}}directory: "[[DIR]]32 33// ---------------------------------------------------------------------34// Relative PCH in a subdirectory.35// ---------------------------------------------------------------------36//37// RUN: mkdir pchdir38// RUN: %clang_cc1 -fmodule-format=obj -emit-pch \39// RUN: -triple %itanium_abi_triple \40// RUN: -o pchdir/prefix.pch %S/debug-info-limited-struct.h41//42// RUN: %clang_cc1 -debug-info-kind=standalone \43// RUN: -dwarf-ext-refs -fmodule-format=obj \44// RUN: -triple %itanium_abi_triple \45// RUN: -include-pch pchdir/prefix.pch %s -emit-llvm -o %t.rel.ll %s46// RUN: cat %t.rel.ll | FileCheck %s --check-prefix=CHECK-REL47 48// CHECK-REL: !DICompileUnit49// CHECK-REL-SAME: file: ![[C:[0-9]+]]50// CHECK-REL-NOT: dwoId51// CHECK-REL: ![[C]] = !DIFile({{.*}}directory: "[[DIR:.*]]"52// CHECK-REL: !DICompileUnit(53// CHECK-REL-SAME: file: ![[PCH:[0-9]+]]54// CHECK-REL-SAME: splitDebugFilename: "pchdir{{.*}}prefix.pch"55// CHECK-REL: ![[PCH]] = !DIFile({{.*}}directory: "[[DIR]]"56 57// ---------------------------------------------------------------------58// Absolute PCH.59// ---------------------------------------------------------------------60//61// RUN: %clang_cc1 -fmodule-format=obj -emit-pch \62// RUN: -triple %itanium_abi_triple \63// RUN: -o %t/prefix.pch %S/debug-info-limited-struct.h64//65// RUN: %clang_cc1 -debug-info-kind=standalone \66// RUN: -dwarf-ext-refs -fmodule-format=obj \67// RUN: -triple %itanium_abi_triple \68// RUN: -include-pch %t/prefix.pch %s -emit-llvm \69// RUN: -fdebug-compilation-dir=%t -o %t.abs.ll %s70// RUN: cat %t.abs.ll | FileCheck %s --check-prefix=CHECK-ABS71 72// CHECK-ABS: !DICompileUnit73// CHECK-ABS-SAME: file: ![[C:[0-9]+]]74// CHECK-ABS-NOT: dwoId75// CHECK-ABS: ![[C]] = !DIFile({{.*}}directory: "[[DIR:.*]]"76// CHECK-ABS: !DICompileUnit(77// CHECK-ABS-SAME: file: ![[PCH:[0-9]+]]78// CHECK-ABS-SAME: splitDebugFilename: "prefix.pch"79// CHECK-ABS: ![[PCH]] = !DIFile({{.*}}directory: "[[DIR]]80