[clang] 53c29a4 - Reinstate the syntax tree test for 'static' in an array subscript

Dmitri Gribenko via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 2 08:06:44 PDT 2020


Author: Dmitri Gribenko
Date: 2020-06-02T17:01:51+02:00
New Revision: 53c29a42d044b167f6b5f28e096c8d9e50d6edc7

URL: https://github.com/llvm/llvm-project/commit/53c29a42d044b167f6b5f28e096c8d9e50d6edc7
DIFF: https://github.com/llvm/llvm-project/commit/53c29a42d044b167f6b5f28e096c8d9e50d6edc7.diff

LOG: Reinstate the syntax tree test for 'static' in an array subscript

Reviewers: eduucaldas

Reviewed By: eduucaldas

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81009

Added: 
    

Modified: 
    clang/unittests/Tooling/Syntax/TreeTest.cpp

Removed: 
    


################################################################################
diff  --git a/clang/unittests/Tooling/Syntax/TreeTest.cpp b/clang/unittests/Tooling/Syntax/TreeTest.cpp
index bcfb2f7614e8..a7de4b909cb4 100644
--- a/clang/unittests/Tooling/Syntax/TreeTest.cpp
+++ b/clang/unittests/Tooling/Syntax/TreeTest.cpp
@@ -51,6 +51,8 @@ struct TestClangConfig {
   TestLanguage Language;
   std::string Target;
 
+  bool isC99OrLater() const { return Language == Lang_C99; }
+
   bool isCXX() const {
     return Language == Lang_CXX03 || Language == Lang_CXX11 ||
            Language == Lang_CXX14 || Language == Lang_CXX17 ||
@@ -1903,7 +1905,6 @@ TEST_P(SyntaxTreeTest, ArraySubscriptsInDeclarators) {
 int a[10];
 int b[1][2][3];
 int c[] = {1,2,3};
-// void f(int xs[static 10]);
     )cpp",
       R"txt(
 *: TranslationUnit
@@ -1960,6 +1961,36 @@ int c[] = {1,2,3};
   `-;       )txt");
 }
 
+TEST_P(SyntaxTreeTest, StaticArraySubscriptsInDeclarators) {
+  if (!GetParam().isC99OrLater()) {
+    return;
+  }
+  expectTreeDumpEqual(
+      R"cpp(
+void f(int xs[static 10]);
+    )cpp",
+      R"txt(
+*: TranslationUnit
+`-SimpleDeclaration
+  |-void
+  |-SimpleDeclarator
+  | |-f
+  | `-ParametersAndQualifiers
+  |   |-(
+  |   |-SimpleDeclaration
+  |   | |-int
+  |   | `-SimpleDeclarator
+  |   |   |-xs
+  |   |   `-ArraySubscript
+  |   |     |-[
+  |   |     |-static
+  |   |     |-UnknownExpression
+  |   |     | `-10
+  |   |     `-]
+  |   `-)
+  `-;       )txt");
+}
+
 TEST_P(SyntaxTreeTest, ParameterListsInDeclarators) {
   if (!GetParam().isCXX()) {
     // TODO: Split parts that depend on C++ into a separate test.


        


More information about the cfe-commits mailing list