From a693b37e14b4763e7ab5ce5de994ef1a8c930631 Mon Sep 17 00:00:00 2001 From: Aleksei Sidorin Date: Wed, 28 Sep 2016 10:16:56 +0000 Subject: [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 --- clang/test/ASTMerge/Inputs/class3.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 clang/test/ASTMerge/Inputs/class3.cpp (limited to 'clang/test/ASTMerge/Inputs/class3.cpp') diff --git a/clang/test/ASTMerge/Inputs/class3.cpp b/clang/test/ASTMerge/Inputs/class3.cpp new file mode 100644 index 00000000000..428acc3f031 --- /dev/null +++ b/clang/test/ASTMerge/Inputs/class3.cpp @@ -0,0 +1,26 @@ +class C1 { +public: + C1(); + ~C1(); + C1 *method_1() { + return this; + } + C1 method_2() { + return C1(); + } + void method_3() { + const C1 &ref = C1(); + } +}; + +class C11 : public C1 { +}; + +class C2 { +private: + int x; + friend class C3; +public: + static_assert(sizeof(x) == sizeof(int), "Error"); + typedef class C2::C2 InjType; +}; -- cgit v1.2.3