summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2019-10-21 16:44:37 +0000
committerAdrian Prantl <aprantl@apple.com>2019-10-21 16:44:37 +0000
commit14947e8df1c27d3babf2c01b53c0c2bf2bfb9bd1 (patch)
tree635f4a4833f1b809441f7783d7f9032fdc0fce49 /test
parentc78da41cdae532adb51d10ed73482642881346dd (diff)
downloadclang-14947e8df1c27d3babf2c01b53c0c2bf2bfb9bd1.tar.gz
PCH debug info: Avoid appending the source directory to an absolute path
When building a precompiled header in -fmodule-format=obj (i.e., `-gmodules) in an absolute path, the locig in CGDebugInfo::createCompileUnit would unconditionally append the source directory to the -main-file-name. This patch avoids that behavior for absolute paths. rdar://problem/46045865 Differential Revision: https://reviews.llvm.org/D69213 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@375423 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/PCH/debug-info-pch-container-path.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/PCH/debug-info-pch-container-path.c b/test/PCH/debug-info-pch-container-path.c
new file mode 100644
index 0000000000..efe49e48e2
--- /dev/null
+++ b/test/PCH/debug-info-pch-container-path.c
@@ -0,0 +1,22 @@
+// REQUIRES: asserts
+
+// Modules:
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: cd %t
+
+// RUN: %clang_cc1 -fmodule-format=obj -emit-pch \
+// RUN: -triple %itanium_abi_triple \
+// RUN: -fdebug-prefix-map=%t=BUILD \
+// RUN: -fdebug-prefix-map=%S=SOURCE \
+// RUN: -o %t/prefix.ll %S/debug-info-limited-struct.h \
+// RUN: -mllvm -debug-only=pchcontainer &>%t-container.ll
+// RUN: cat %t-container.ll | FileCheck %s
+
+// CHECK: distinct !DICompileUnit(
+// CHECK-SAME: language: DW_LANG_C99,
+// CHECK-SAME: file: ![[FILE:[0-9]+]],
+// CHECK: ![[FILE]] = !DIFile(
+// CHECK-SAME: filename: "SOURCE/debug-info-limited-struct.h",
+// CHECK-SAME: directory: "BUILD"
+