gribozavr created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. gribozavr2 added a reviewer: eduucaldas.
Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D81009 Files: clang/unittests/Tooling/Syntax/TreeTest.cpp Index: clang/unittests/Tooling/Syntax/TreeTest.cpp =================================================================== --- clang/unittests/Tooling/Syntax/TreeTest.cpp +++ clang/unittests/Tooling/Syntax/TreeTest.cpp @@ -51,6 +51,8 @@ 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 @@ 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 @@ `-; )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.
Index: clang/unittests/Tooling/Syntax/TreeTest.cpp =================================================================== --- clang/unittests/Tooling/Syntax/TreeTest.cpp +++ clang/unittests/Tooling/Syntax/TreeTest.cpp @@ -51,6 +51,8 @@ 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 @@ 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 @@ `-; )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.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits