summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2013-04-06 00:46:20 +0000
committerDouglas Gregor <dgregor@apple.com>2013-04-06 00:46:20 +0000
commite9846f7f3c781a77d1e3e62b061857d533c97f29 (patch)
tree9eca24d162bd37830b80e3f6ecb7244681b87beb /clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
parenta1de8567fcf50edb789a72fd563d9a17225954c7 (diff)
downloadbcm5719-llvm-e9846f7f3c781a77d1e3e62b061857d533c97f29.tar.gz
bcm5719-llvm-e9846f7f3c781a77d1e3e62b061857d533c97f29.zip
<rdar://problem/13325066> Destroy std::initializer_list temporaries whose lifetime has been extended by reference binding.
llvm-svn: 178939
Diffstat (limited to 'clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp')
-rw-r--r--clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp b/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
index 8d9fce040fd..fc908804c07 100644
--- a/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
+++ b/clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
@@ -250,3 +250,22 @@ namespace PR12178 {
map m{ {1, 2}, {3, 4} };
}
+
+namespace rdar13325066 {
+ struct X { ~X(); };
+
+ // CHECK: define void @_ZN12rdar133250664loopERNS_1XES1_
+ void loop(X &x1, X &x2) {
+ // CHECK: br label
+ // CHECK: br i1
+ // CHECK: br label
+ // CHECK call void @_ZN12rdar133250661XD1Ev
+ // CHECK: br label
+ // CHECK: br label
+ // CHECK: call void @_ZN12rdar133250661XD1Ev
+ // CHECK: br i1
+ // CHECK: br label
+ // CHECK: ret void
+ for (X x : { x1, x2 }) { }
+ }
+}
OpenPOWER on IntegriCloud