diff options
author | Aleksei Sidorin <a.sidorin@samsung.com> | 2016-09-28 10:16:56 +0000 |
---|---|---|
committer | Aleksei Sidorin <a.sidorin@samsung.com> | 2016-09-28 10:16:56 +0000 |
commit | a693b37e14b4763e7ab5ce5de994ef1a8c930631 (patch) | |
tree | 694750104ed6d850a7a6014ff60d394018f24c0a /clang/unittests/AST/ASTImporterTest.cpp | |
parent | 37d757039dc5fa3843cda5b4c1c86d842ae9443d (diff) | |
download | bcm5719-llvm-a693b37e14b4763e7ab5ce5de994ef1a8c930631.tar.gz bcm5719-llvm-a693b37e14b4763e7ab5ce5de994ef1a8c930631.zip |
[ASTImporter] Implement some expression-related AST node import (part 2)
* Some code cleanup
* Add tests not present in http://reviews.llvm.org/D14286
* Integrate a test suite from Serge Pavlov (http://reviews.llvm.org/D14224)
* ArrayTypeTraitExpr: serialize sub-expression to avoid keeping it undefined
* Implement import of some nodes:
- ArrayTypeTraitExpr
- ExpressionTraitExpr
- OpaqueValueExpr
- ArraySubscriptExpr
- ExplicitCastExpr
- ImplicitValueInitExpr
- OffsetOfExpr
- CXXThisExpr
- CXXThrowExpr
- CXXNoexceptExpr
- CXXDefaultArgExpr
- CXXScalarValueInitExpr
- CXXBindTemporaryExpr
- CXXTemporaryObjectExpr
- MaterializeTemporaryExpr
- ExprWithCleanups
- StaticAssertDecl
- FriendDecl
- DecayedType
Differential Revision: https://reviews.llvm.org/D14326
llvm-svn: 282572
Diffstat (limited to 'clang/unittests/AST/ASTImporterTest.cpp')
-rw-r--r-- | clang/unittests/AST/ASTImporterTest.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/unittests/AST/ASTImporterTest.cpp b/clang/unittests/AST/ASTImporterTest.cpp index 3cc38fb55b2..39d6afee40b 100644 --- a/clang/unittests/AST/ASTImporterTest.cpp +++ b/clang/unittests/AST/ASTImporterTest.cpp @@ -456,5 +456,24 @@ TEST(ImportExpr, ImportInitListExpr) { } +const internal::VariadicDynCastAllOfMatcher<Expr, VAArgExpr> vaArgExpr; + +TEST(ImportExpr, ImportVAArgExpr) { + MatchVerifier<Decl> Verifier; + EXPECT_TRUE( + testImport( + "void declToImport(__builtin_va_list list, ...) {" + " (void)__builtin_va_arg(list, int); }", + Lang_CXX, "", Lang_CXX, Verifier, + functionDecl( + hasBody( + compoundStmt( + has( + cStyleCastExpr( + hasSourceExpression( + vaArgExpr())))))))); +} + + } // end namespace ast_matchers } // end namespace clang |