diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2012-01-17 22:50:08 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2012-01-17 22:50:08 +0000 |
commit | 42acd4a05b523f53e6708cdbb77a4a10c352a03c (patch) | |
tree | 2b5a67e45c5e5cdcd2e3cc049c3841f5407bcb4c /clang/test | |
parent | 43144e72b5197c2e17a5586a59d41afe177d5055 (diff) | |
download | bcm5719-llvm-42acd4a05b523f53e6708cdbb77a4a10c352a03c.tar.gz bcm5719-llvm-42acd4a05b523f53e6708cdbb77a4a10c352a03c.zip |
Auto deduction support for std::initializer_list, including for-range support. This means you can now write:
for (int i : {1, 4, 512, 23, 251}) {}
llvm-svn: 148353
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp | 8 | ||||
-rw-r--r-- | clang/test/SemaCXX/generalized-initializers.cpp | 12 |
2 files changed, 8 insertions, 12 deletions
diff --git a/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp b/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp index a08a04806ca..47ceaf0b83c 100644 --- a/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp +++ b/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp @@ -109,3 +109,11 @@ void argument_deduction() { deduce_ref({1, 2.0}); // expected-error {{no matching function}} } + +void auto_deduction() { + auto l = {1, 2, 3, 4}; + static_assert(same_type<decltype(l), std::initializer_list<int>>::value, ""); + auto bl = {1, 2.0}; // expected-error {{cannot deduce}} + + for (int i : {1, 2, 3, 4}) {} +} diff --git a/clang/test/SemaCXX/generalized-initializers.cpp b/clang/test/SemaCXX/generalized-initializers.cpp index 2e7df9aeafe..d696650e3eb 100644 --- a/clang/test/SemaCXX/generalized-initializers.cpp +++ b/clang/test/SemaCXX/generalized-initializers.cpp @@ -38,18 +38,6 @@ namespace std { }; } -namespace integral { - - void initializer_list() { - auto l = {1, 2, 3, 4}; - static_assert(same_type<decltype(l), std::initializer_list<int>>::value, ""); - auto bl = {1, 2.0}; // expected-error {{cannot deduce}} - - for (int i : {1, 2, 3, 4}) {} - } - -} - namespace objects { struct X1 { X1(int); }; |