diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-09-06 01:22:42 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-09-06 01:22:42 +0000 |
commit | 4d2bbd78ff7eb12adb27f5583219bb849e55f5dd (patch) | |
tree | 96ea02923cf307a29bcbf419facecff66f406b64 /clang/test | |
parent | bc8c734fa715cbad78d76707d0699366e28b46ec (diff) | |
download | bcm5719-llvm-4d2bbd78ff7eb12adb27f5583219bb849e55f5dd.tar.gz bcm5719-llvm-4d2bbd78ff7eb12adb27f5583219bb849e55f5dd.zip |
When creating an implicit conversion sequence for a reference of type T from an
initializer list containing a single element of type T, be sure to mark the
sequence as a list conversion sequence so that it is known to be worse than an
implicit conversion sequence that initializes a std::initializer_list object.
llvm-svn: 190115
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp b/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp index 071098440cd..d4098a45b59 100644 --- a/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp +++ b/clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp @@ -218,3 +218,10 @@ namespace deleted_copy { std::initializer_list<X> x{1}; // expected-error {{invokes deleted constructor}} } + +namespace RefVersusInitList { + struct S {}; + void f(const S &) = delete; + void f(std::initializer_list<S>); + void g(S s) { f({S()}); } +} |