summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2018-12-01 00:24:27 +0000
committerAdrian Prantl <aprantl@apple.com>2018-12-01 00:24:27 +0000
commitbef4f92a3b05e98155950adf6fa17fcf21fc8c71 (patch)
tree3c45a8c3e3b456e0654d64087fc54514c02f1a90 /clang/test/CodeGenCXX/debug-prefix-map-lambda.cpp
parentb07298eeddd95c294ee877daa64f5f3ecf92a78e (diff)
downloadbcm5719-llvm-bef4f92a3b05e98155950adf6fa17fcf21fc8c71.tar.gz
bcm5719-llvm-bef4f92a3b05e98155950adf6fa17fcf21fc8c71.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: 348060
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