]> granicus.if.org Git - clang/commit
Unify type trait parsing
authorAlp Toker <alp@nuanti.com>
Thu, 12 Dec 2013 21:23:03 +0000 (21:23 +0000)
committerAlp Toker <alp@nuanti.com>
Thu, 12 Dec 2013 21:23:03 +0000 (21:23 +0000)
commit0e869433eb6182be9f12d98632f48bc75084df71
treeebea49f61e49cc62cd5e37d7b95b13265d64f9b7
parent92a148049ee4956152236dc0f64cc22e4fdc305b
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
include/clang/Basic/DiagnosticParseKinds.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Basic/TokenKinds.def
include/clang/Parse/Parser.h
lib/AST/StmtPrinter.cpp
lib/Parse/ParseExpr.cpp
lib/Parse/ParseExprCXX.cpp
lib/Parse/ParseTentative.cpp
lib/Sema/SemaExprCXX.cpp