diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2012-03-15 21:40:51 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2012-03-15 21:40:51 +0000 |
commit | 4b911e6536ed77524c3cef572cb0f6c8d9079e2e (patch) | |
tree | 2f2e89d70aeae5da506ad751054a7da359b0d90f /test/SemaCXX | |
parent | afcd1954be90965d832ae56f1413beae836c3346 (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.cpp | 13 |
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}}); + } +} |