summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-08-21 20:51:13 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-08-21 20:51:13 +0000
commit3b717527f4e41337e90ef47f743543f25cb4949c (patch)
treeacff5f0b59dd7f667398f0424171ddb590b9e5ae /clang/test
parent1961f14cf965e63d944d8888a089067cde142d10 (diff)
downloadbcm5719-llvm-3b717527f4e41337e90ef47f743543f25cb4949c.tar.gz
bcm5719-llvm-3b717527f4e41337e90ef47f743543f25cb4949c.zip
Return statements are initialization; don't forget to revert the initializer to
its syntactic form before re-analyzing it during template instantiation. llvm-svn: 216224
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaTemplate/instantiate-init.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-init.cpp b/clang/test/SemaTemplate/instantiate-init.cpp
index 22c70be3a8d..7a33aec6653 100644
--- a/clang/test/SemaTemplate/instantiate-init.cpp
+++ b/clang/test/SemaTemplate/instantiate-init.cpp
@@ -133,3 +133,12 @@ namespace PR16903 {
fun(in);
}
}
+
+namespace ReturnStmtIsInitialization {
+ struct X {
+ X() {}
+ X(const X &) = delete;
+ };
+ template<typename T> X f() { return {}; }
+ auto &&x = f<void>();
+}
OpenPOWER on IntegriCloud