aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/debug-lambda-this.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-09-19 21:47:34 +0000
committerEric Christopher <echristo@apple.com>2012-09-19 21:47:34 +0000
commit28e3c9982500b6abd9f419f7baa505bebc9065ba (patch)
treeb406f0ef96b057c9a197fd7221e3a686c395aca5 /test/CodeGenCXX/debug-lambda-this.cpp
parent195ff58b91ea106931c04f9bbdcf312925e3440c (diff)
Handle a captured this for the debug information as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164253 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/debug-lambda-this.cpp')
-rw-r--r--test/CodeGenCXX/debug-lambda-this.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGenCXX/debug-lambda-this.cpp b/test/CodeGenCXX/debug-lambda-this.cpp
new file mode 100644
index 0000000000..7c37fbe35c
--- /dev/null
+++ b/test/CodeGenCXX/debug-lambda-this.cpp
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -fexceptions -std=c++11 -g | FileCheck %s
+
+struct D {
+ D();
+ D(const D&);
+ int x;
+ int d(int x);
+};
+int D::d(int x) {
+ [=] {
+ return this->x;
+ }();
+}
+
+// CHECK: metadata !{i32 {{.*}}, metadata !"this", metadata !6, i32 11, i64 64, i64 64, i64 0, i32 1, metadata !37} ; [ DW_TAG_member ] [this] [line 11, size 64, align 64, offset 0] [private] [from ]