This patch implements some expression-related AST node import. This is the first patch in a series.
http://reviews.llvm.org/D14224 was also partially used.
- Introduce ASTImporter unit test framework
- Support new node kinds:
InjectedClassNameType
TemplateTypeParmType
LabelDecl
GCCAsmStmt
VAArgExpr
GNUNullExpr
PredefinedExpr
InitListExpr
ImplicitValueInitExpr
DesignatedInitExpr
CXXNullPtrLiteralExpr
CXXBoolLiteralExpr
FloatingLiteral
StringLiteral
CompoundLiteralExpr
AtomicExpr
AddrLabelExpr
ParenListExpr
StmtExpr
ConditionalOperator
BinaryConditionalOperator
OpaqueValueExpr
CXXThisExpr
A name started with underscore is a reserved identifier (see C++ standard, [global.names]), so it is better to use something more neutral, like TheImporter or Imp or something else.