Implement DR990 and DR1070. Aggregate initialization initializes uninitialized
elements from {}, rather than value-initializing them. This permits calling an initializer-list constructor or constructing a std::initializer_list object. (It would also permit initializing a const reference or rvalue reference if that weren't explicitly prohibited by other rules.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210091 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Expr.h 1 addition, 0 deletionsinclude/clang/AST/Expr.h
- include/clang/Sema/Initialization.h 12 additions, 5 deletionsinclude/clang/Sema/Initialization.h
- lib/CodeGen/CGExprCXX.cpp 18 additions, 11 deletionslib/CodeGen/CGExprCXX.cpp
- lib/Sema/SemaInit.cpp 103 additions, 73 deletionslib/Sema/SemaInit.cpp
- test/CXX/drs/dr10xx.cpp 33 additions, 0 deletionstest/CXX/drs/dr10xx.cpp
- test/CXX/drs/dr9xx.cpp 45 additions, 0 deletionstest/CXX/drs/dr9xx.cpp
- test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp 18 additions, 1 deletiontest/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
- test/CodeGenCXX/cxx1y-initializer-aggregate.cpp 1 addition, 1 deletiontest/CodeGenCXX/cxx1y-initializer-aggregate.cpp
- test/SemaCXX/cxx0x-initializer-constructor.cpp 2 additions, 2 deletionstest/SemaCXX/cxx0x-initializer-constructor.cpp
- test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp 8 additions, 0 deletionstest/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
- www/cxx_dr_status.html 3 additions, 3 deletionswww/cxx_dr_status.html
Loading
Please register or sign in to comment