summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorDevin Coughlin <dcoughlin@apple.com>2016-08-02 21:07:23 +0000
committerDevin Coughlin <dcoughlin@apple.com>2016-08-02 21:07:23 +0000
commit6eb1ca74165a4e17d4f0193e879e729170257e39 (patch)
tree13d9f137cc0debfaf1dbb8d82f4499c878e96e3a /clang/test
parent368c4223b8182fcdf87aa5c5d4a1487de1ccf654 (diff)
downloadbcm5719-llvm-6eb1ca74165a4e17d4f0193e879e729170257e39.tar.gz
bcm5719-llvm-6eb1ca74165a4e17d4f0193e879e729170257e39.zip
[CFG] Fix crash finding destructor of lifetime-extended temporary.
Fix a crash under -Wthread-safety when finding the destructor for a lifetime-extending reference. A patch by Nandor Licker! Differential Revision: https://reviews.llvm.org/D22419 llvm-svn: 277522
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaCXX/warn-thread-safety-analysis.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
index b5d2f8e1de8..bbb4f9b48d3 100644
--- a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+++ b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
@@ -5160,6 +5160,21 @@ void test3() {
} // end namespace GlobalAcquiredBeforeAfterTest
+namespace LifetimeExtensionText {
+
+struct Holder {
+ virtual ~Holder() throw() {}
+ int i = 0;
+};
+
+void test() {
+ // Should not crash.
+ const auto &value = Holder().i;
+}
+
+} // end namespace LifetimeExtensionTest
+
+
namespace LockableUnions {
union LOCKABLE MutexUnion {
OpenPOWER on IntegriCloud