summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaTemplate/instantiate-init.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-08-15 22:02:56 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-08-15 22:02:56 +0000
commit89fe0d5842469f231c2a0649ff6d88ade892e6e8 (patch)
tree2e2d76928ebf201f5011b76e5c2340e4c01a780a /clang/test/SemaTemplate/instantiate-init.cpp
parent35b22f69851dee2fb9e17d94ccf26967b5cf3399 (diff)
downloadbcm5719-llvm-89fe0d5842469f231c2a0649ff6d88ade892e6e8.tar.gz
bcm5719-llvm-89fe0d5842469f231c2a0649ff6d88ade892e6e8.zip
Properly track l-paren of a CXXFucntionalCastExpr.
In addition to storing more useful information in the AST, this fixes a semantic check in template instantiation which checks whether the l-paren location is valid. Fixes PR16903. llvm-svn: 188495
Diffstat (limited to 'clang/test/SemaTemplate/instantiate-init.cpp')
-rw-r--r--clang/test/SemaTemplate/instantiate-init.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-init.cpp b/clang/test/SemaTemplate/instantiate-init.cpp
index 6a1a57ca659..22c70be3a8d 100644
--- a/clang/test/SemaTemplate/instantiate-init.cpp
+++ b/clang/test/SemaTemplate/instantiate-init.cpp
@@ -118,3 +118,18 @@ namespace PR13064 {
template<typename T> struct C { T a = { 0 }; }; // expected-error{{explicit}}
C<A> c; // expected-note{{here}}
}
+
+namespace PR16903 {
+ // Make sure we properly instantiate list-initialization.
+ template<typename T>
+ void fun (T it) {
+ int m = 0;
+ for (int i = 0; i < 4; ++i, ++it){
+ m |= long{char{*it}};
+ }
+ }
+ int test() {
+ char in[4] = {0,0,0,0};
+ fun(in);
+ }
+}
OpenPOWER on IntegriCloud