PR13470: Ensure that copy-list-initialization isntantiates as
copy-list-initialization (and doesn't add an additional copy step): Fill in the ListInitialization bit when creating a CXXConstructExpr. Use it when instantiating initializers in order to correctly handle instantiation of copy-list-initialization. Teach TreeTransform that function arguments are initializations, and so need this special treatment too. Finally, remove some hacks which were working around SubstInitializer's shortcomings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170489 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/ExprCXX.h 2 additions, 1 deletioninclude/clang/AST/ExprCXX.h
- include/clang/Sema/Sema.h 5 additions, 11 deletionsinclude/clang/Sema/Sema.h
- lib/AST/ExprCXX.cpp 3 additions, 1 deletionlib/AST/ExprCXX.cpp
- lib/AST/StmtPrinter.cpp 6 additions, 0 deletionslib/AST/StmtPrinter.cpp
- lib/Sema/SemaDeclCXX.cpp 14 additions, 44 deletionslib/Sema/SemaDeclCXX.cpp
- lib/Sema/SemaExprCXX.cpp 5 additions, 5 deletionslib/Sema/SemaExprCXX.cpp
- lib/Sema/SemaInit.cpp 16 additions, 10 deletionslib/Sema/SemaInit.cpp
- lib/Sema/SemaTemplateInstantiate.cpp 10 additions, 1 deletionlib/Sema/SemaTemplateInstantiate.cpp
- lib/Sema/SemaTemplateInstantiateDecl.cpp 0 additions, 39 deletionslib/Sema/SemaTemplateInstantiateDecl.cpp
- lib/Sema/TreeTransform.h 68 additions, 4 deletionslib/Sema/TreeTransform.h
- lib/Serialization/ASTReaderStmt.cpp 1 addition, 0 deletionslib/Serialization/ASTReaderStmt.cpp
- lib/Serialization/ASTWriterStmt.cpp 1 addition, 0 deletionslib/Serialization/ASTWriterStmt.cpp
- test/Index/recursive-cxx-member-calls.cpp 3 additions, 3 deletionstest/Index/recursive-cxx-member-calls.cpp
- test/SemaCXX/cxx0x-initializer-constructor.cpp 50 additions, 4 deletionstest/SemaCXX/cxx0x-initializer-constructor.cpp
Loading
Please register or sign in to comment