summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2012-03-15 21:40:51 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2012-03-15 21:40:51 +0000
commit4b911e6536ed77524c3cef572cb0f6c8d9079e2e (patch)
tree2f2e89d70aeae5da506ad751054a7da359b0d90f /test/SemaCXX
parentafcd1954be90965d832ae56f1413beae836c3346 (diff)
Support deducing template arguments from nested initializer lists. PR12119.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152848 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX')
-rw-r--r--test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp b/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
index 23b51515f9..0e0e8f254b 100644
--- a/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
+++ b/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
@@ -137,3 +137,16 @@ struct haslist1 {
haslist1::haslist1()
: il{1, 2, 3} // expected-warning{{at the end of the constructor}}
{}
+
+namespace PR12119 {
+ // Deduction with nested initializer lists.
+ template<typename T> void f(std::initializer_list<T>);
+ template<typename T> void g(std::initializer_list<std::initializer_list<T>>);
+
+ void foo() {
+ f({0, {1}});
+ g({{0, 1}, {2, 3}});
+ std::initializer_list<int> il = {1, 2};
+ g({il, {2, 3}});
+ }
+}