summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2018-12-05 18:37:44 +0000
committerAdrian Prantl <aprantl@apple.com>2018-12-05 18:37:44 +0000
commit56acd5a66ea3800a23be0cfdbc422624398cb096 (patch)
tree275b664f4bc239ea72d9d995bd23ac5022e590b0 /clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
parenta717bc78b7723cfff52fdb3d9e928cf2c69a87b5 (diff)
downloadbcm5719-llvm-56acd5a66ea3800a23be0cfdbc422624398cb096.tar.gz
bcm5719-llvm-56acd5a66ea3800a23be0cfdbc422624398cb096.zip
Honor -fdebug-prefix-map when creating function names for the debug info.
This adds a callback to PrintingPolicy to allow CGDebugInfo to remap file paths according to -fdebug-prefix-map. Otherwise the debug info (particularly function names for C++ lambdas) may contain paths that should have been remapped in the debug info. <rdar://problem/46128056> Differential Revision: https://reviews.llvm.org/D55137 llvm-svn: 348397
Diffstat (limited to 'clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp')
-rw-r--r--clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp b/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
new file mode 100644
index 00000000000..b7f6c53829b
--- /dev/null
+++ b/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -debug-info-kind=limited -triple %itanium_abi_triple \
+// RUN: -fdebug-prefix-map=%S=/SOURCE_ROOT %s -emit-llvm -o - | FileCheck %s
+
+template <typename T> void b(T) {}
+void c() {
+ // CHECK: !DISubprogram(name: "b<(lambda at
+ // CHECK-SAME: /SOURCE_ROOT/debug-prefix-map-lambda.cpp
+ // CHECK-SAME: [[@LINE+1]]:{{[0-9]+}})>"
+ b([]{});
+}
OpenPOWER on IntegriCloud