N3922: direct-list-initialization of an auto-typed variable no longer deduces a
std::initializer_list<T> type. Instead, the list must contain a single element and the type is deduced from that. In Clang 3.7, we warned by default on all the cases that would change meaning due to this change. In Clang 3.8, we will support only the new rules -- per the request in N3922, this change is applied as a Defect Report against earlier versions of the C++ standard. This change is not entirely trivial, because for lambda init-captures we previously did not track the difference between direct-list-initialization and copy-list-initialization. The difference was not previously observable, because the two forms of initialization always did the same thing (the elements of the initializer list were always copy-initialized regardless of the initialization style used for the init-capture). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252688 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Expr.h 8 additions, 0 deletionsinclude/clang/AST/Expr.h
- include/clang/Basic/DiagnosticParseKinds.td 0 additions, 4 deletionsinclude/clang/Basic/DiagnosticParseKinds.td
- include/clang/Basic/DiagnosticSemaKinds.td 4 additions, 8 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Sema/DeclSpec.h 15 additions, 5 deletionsinclude/clang/Sema/DeclSpec.h
- include/clang/Sema/Sema.h 19 additions, 4 deletionsinclude/clang/Sema/Sema.h
- lib/Parse/ParseExprCXX.cpp 13 additions, 11 deletionslib/Parse/ParseExprCXX.cpp
- lib/Sema/SemaDecl.cpp 108 additions, 89 deletionslib/Sema/SemaDecl.cpp
- lib/Sema/SemaLambda.cpp 38 additions, 58 deletionslib/Sema/SemaLambda.cpp
- lib/Sema/TreeTransform.h 6 additions, 5 deletionslib/Sema/TreeTransform.h
- test/CXX/drs/dr13xx.cpp 6 additions, 6 deletionstest/CXX/drs/dr13xx.cpp
- test/CXX/expr/expr.prim/expr.prim.lambda/p11-1y.cpp 3 additions, 2 deletionstest/CXX/expr/expr.prim/expr.prim.lambda/p11-1y.cpp
- test/Parser/cxx0x-lambda-expressions.cpp 1 addition, 1 deletiontest/Parser/cxx0x-lambda-expressions.cpp
- test/Parser/objcxx0x-lambda-expressions.mm 1 addition, 1 deletiontest/Parser/objcxx0x-lambda-expressions.mm
- test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp 4 additions, 2 deletionstest/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
- test/SemaCXX/cxx1y-init-captures.cpp 6 additions, 0 deletionstest/SemaCXX/cxx1y-init-captures.cpp
- www/cxx_status.html 15 additions, 7 deletionswww/cxx_status.html
Loading
Please register or sign in to comment