Fixed converted ConstantArrayTypeLoc range. Added a missing testcase for ConstructorDecl source range.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167583 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/AST/SourceLocationTest.cpp b/unittests/AST/SourceLocationTest.cpp
index c1651bc..953cb9e 100644
--- a/unittests/AST/SourceLocationTest.cpp
+++ b/unittests/AST/SourceLocationTest.cpp
@@ -29,7 +29,7 @@
using clang::tooling::runToolOnCodeWithArgs;
using clang::tooling::FrontendActionFactory;
-enum Language { Lang_C, Lang_CXX };
+enum Language { Lang_C, Lang_C89, Lang_CXX };
/// \brief Base class for verifying some property of nodes found by a matcher.
///
@@ -78,6 +78,10 @@
Args.push_back("-std=c99");
FileName = "input.c";
break;
+ case Lang_C89:
+ Args.push_back("-std=c89");
+ FileName = "input.c";
+ break;
case Lang_CXX:
Args.push_back("-std=c++98");
FileName = "input.cc";
@@ -262,5 +266,18 @@
memberExpr()));
}
+TEST(VarDecl, VMTypeFixedVarDeclRange) {
+ RangeVerifier<VarDecl> Verifier;
+ Verifier.expectRange(1, 1, 1, 23);
+ EXPECT_TRUE(Verifier.match("int a[(int)(void*)1234];",
+ varDecl(), Lang_C89));
+}
+
+TEST(CXXConstructorDecl, NoRetFunTypeLocRange) {
+ RangeVerifier<CXXConstructorDecl> Verifier;
+ Verifier.expectRange(1, 11, 1, 13);
+ EXPECT_TRUE(Verifier.match("class C { C(); };", functionDecl()));
+}
+
} // end namespace ast_matchers
} // end namespace clang