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