When list-initializing an object of class type, if we pick an initializer list
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 16 Jul 2014 21:33:43 +0000 (21:33 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 16 Jul 2014 21:33:43 +0000 (21:33 +0000)
commit5332411cd7464979fe6ee2e7bf48f87fb8055f96
treeb3392abbf3cc422004cf545934c16d6d83df5e3f
parentc8491d3d838c3bbc272bf80cb0d0d8e5c0bbab3e
When list-initializing an object of class type, if we pick an initializer list
constructor (and pass it an implicitly-generated std::initializer_list object),
be sure to mark the resulting construction as list-initialization. This fixes
an assert in template instantiation where we previously thought we'd got direct
non-list initialization without any parentheses.

llvm-svn: 213201
clang/include/clang/Sema/Initialization.h
clang/lib/Sema/SemaInit.cpp
clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp