Unify type trait parsing
Type trait parsing is all over the place at the moment with unary, binary and n-ary C++11 type traits that were developed independently at different points in clang's history. There's no good reason to handle them separately -- there are three parsers, three AST nodes and lots of duplicated handling code with slightly different implementations and diags for each kind. This commit unifies parsing of type traits and sets the stage for further consolidation. No change in behaviour other than more consistent error recovery. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197179 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/DiagnosticParseKinds.td 5 additions, 0 deletionsinclude/clang/Basic/DiagnosticParseKinds.td
- include/clang/Basic/DiagnosticSemaKinds.td 0 additions, 3 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Basic/TokenKinds.def 73 additions, 55 deletionsinclude/clang/Basic/TokenKinds.def
- include/clang/Parse/Parser.h 1 addition, 3 deletionsinclude/clang/Parse/Parser.h
- lib/AST/StmtPrinter.cpp 9 additions, 54 deletionslib/AST/StmtPrinter.cpp
- lib/Parse/ParseExpr.cpp 3 additions, 59 deletionslib/Parse/ParseExpr.cpp
- lib/Parse/ParseExprCXX.cpp 46 additions, 124 deletionslib/Parse/ParseExprCXX.cpp
- lib/Parse/ParseTentative.cpp 3 additions, 27 deletionslib/Parse/ParseTentative.cpp
- lib/Sema/SemaExprCXX.cpp 1 addition, 5 deletionslib/Sema/SemaExprCXX.cpp
Loading
Please register or sign in to comment