summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/lambda-expressions.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-02-20 20:47:06 +0000
committerDouglas Gregor <dgregor@apple.com>2012-02-20 20:47:06 +0000
commit43c3f28c2328ebc96f356eb002d1bc8ff86c6324 (patch)
treec93fbf858daa9c0e52b2a36b74aff16a7f5135f6 /clang/test/CodeGenCXX/lambda-expressions.cpp
parenta7765fea90294017b18b6a39cdc1a3531258d8c6 (diff)
downloadbcm5719-llvm-43c3f28c2328ebc96f356eb002d1bc8ff86c6324.tar.gz
bcm5719-llvm-43c3f28c2328ebc96f356eb002d1bc8ff86c6324.zip
Make sure that we set up the right declaration contexts when creating
and introducing the lambda closure type and its function call operator. Previously, we assumed that the lambda closure type would land directly in the current context, and not some parent context (as occurs with linkage specifications). Thanks to Richard for the test case. llvm-svn: 150987
Diffstat (limited to 'clang/test/CodeGenCXX/lambda-expressions.cpp')
-rw-r--r--clang/test/CodeGenCXX/lambda-expressions.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/lambda-expressions.cpp b/clang/test/CodeGenCXX/lambda-expressions.cpp
index 6f0fa87bb14..5a68e893d71 100644
--- a/clang/test/CodeGenCXX/lambda-expressions.cpp
+++ b/clang/test/CodeGenCXX/lambda-expressions.cpp
@@ -3,6 +3,9 @@
// CHECK: @var = internal global
auto var = [](int i) { return i+1; };
+// CHECK: @cvar = global
+extern "C" auto cvar = []{};
+
int a() { return []{ return 1; }(); }
// CHECK: define i32 @_Z1av
// CHECK: call i32 @_ZZ1avENKUlvE_clEv
OpenPOWER on IntegriCloud