Track the difference between
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 17 Jul 2014 05:12:35 +0000 (05:12 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 17 Jul 2014 05:12:35 +0000 (05:12 +0000)
commitf8adcdc436c100f9103b6e2831819eac6e39a877
tree7f4a8764be0f2870b09b79760c62bfaabaeed7c7
parent68c89c24801e2d1a5e4aea78b264c9bc6dc88b87
Track the difference between

 -- a constructor list initialization that unpacked an initializer list into
    constructor arguments and
 -- a list initialization that created as std::initializer_list and passed it
    as the first argument to a constructor

in the AST. Use this flag while instantiating templates to provide the right
semantics for the resulting initialization.

llvm-svn: 213224
12 files changed:
clang/include/clang/AST/ExprCXX.h
clang/include/clang/Sema/Initialization.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ExprCXX.cpp
clang/lib/CodeGen/CGObjC.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/lib/Sema/SemaInit.cpp
clang/lib/Sema/TreeTransform.h
clang/lib/Serialization/ASTReaderStmt.cpp
clang/lib/Serialization/ASTWriterStmt.cpp
clang/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp