Rearrange condition handling so that semantic checks on a condition variable
are performed before the other substatements of the construct are parsed, rather than deferring them until the end. This allows better error recovery from semantic errors in the condition, improves diagnostic order, and is a prerequisite for C++17 constexpr if. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273548 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Parse/Parser.h 4 additions, 5 deletionsinclude/clang/Parse/Parser.h
- include/clang/Sema/Sema.h 52 additions, 23 deletionsinclude/clang/Sema/Sema.h
- lib/Parse/ParseDeclCXX.cpp 4 additions, 3 deletionslib/Parse/ParseDeclCXX.cpp
- lib/Parse/ParseExprCXX.cpp 15 additions, 29 deletionslib/Parse/ParseExprCXX.cpp
- lib/Parse/ParseStmt.cpp 34 additions, 46 deletionslib/Parse/ParseStmt.cpp
- lib/Sema/SemaDeclCXX.cpp 4 additions, 4 deletionslib/Sema/SemaDeclCXX.cpp
- lib/Sema/SemaExpr.cpp 19 additions, 5 deletionslib/Sema/SemaExpr.cpp
- lib/Sema/SemaExprCXX.cpp 18 additions, 6 deletionslib/Sema/SemaExprCXX.cpp
- lib/Sema/SemaOpenMP.cpp 4 additions, 6 deletionslib/Sema/SemaOpenMP.cpp
- lib/Sema/SemaStmt.cpp 58 additions, 98 deletionslib/Sema/SemaStmt.cpp
- lib/Sema/TreeTransform.h 73 additions, 136 deletionslib/Sema/TreeTransform.h
- test/FixIt/fixit-vexing-parse.cpp 1 addition, 1 deletiontest/FixIt/fixit-vexing-parse.cpp
- test/Parser/cxx0x-condition.cpp 2 additions, 2 deletionstest/Parser/cxx0x-condition.cpp
- test/SemaCXX/crashes.cpp 1 addition, 2 deletionstest/SemaCXX/crashes.cpp
- test/SemaCXX/for-range-examples.cpp 2 additions, 2 deletionstest/SemaCXX/for-range-examples.cpp
- test/SemaObjCXX/foreach.mm 3 additions, 6 deletionstest/SemaObjCXX/foreach.mm
Loading
Please register or sign in to comment