hokein created this revision. hokein added a reviewer: sammccall. Herald added a project: All. hokein requested review of this revision. Herald added a subscriber: alextsao1999. Herald added a project: clang-tools-extra.
The const-expression in the [] can be empty. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D126992 Files: clang-tools-extra/pseudo/lib/cxx.bnf clang-tools-extra/pseudo/test/cxx/abstract-declarator.cpp Index: clang-tools-extra/pseudo/test/cxx/abstract-declarator.cpp =================================================================== --- /dev/null +++ clang-tools-extra/pseudo/test/cxx/abstract-declarator.cpp @@ -0,0 +1,7 @@ +// RUN: clang-pseudo -grammar=%cxx-bnf-file -source=%s --print-forest | FileCheck %s +void s(int[]); +// CHECK: parameter-declaration-list~parameter-declaration := decl-specifier-seq abstract-declarator +// CHECK-NEXT: ├─decl-specifier-seq~INT := tok[3] +// CHECK-NEXT: └─abstract-declarator~noptr-abstract-declarator := [ ] +// CHECK-NEXT: ├─[ := tok[4] +// CHECK-NEXT: └─] := tok[5] Index: clang-tools-extra/pseudo/lib/cxx.bnf =================================================================== --- clang-tools-extra/pseudo/lib/cxx.bnf +++ clang-tools-extra/pseudo/lib/cxx.bnf @@ -429,7 +429,7 @@ ptr-abstract-declarator := noptr-abstract-declarator ptr-abstract-declarator := ptr-operator ptr-abstract-declarator_opt noptr-abstract-declarator := noptr-abstract-declarator_opt parameters-and-qualifiers -noptr-abstract-declarator := noptr-abstract-declarator_opt [ constant-expression ] +noptr-abstract-declarator := noptr-abstract-declarator_opt [ constant-expression_opt ] noptr-abstract-declarator := ( ptr-abstract-declarator ) abstract-pack-declarator := noptr-abstract-pack-declarator abstract-pack-declarator := ptr-operator abstract-pack-declarator
Index: clang-tools-extra/pseudo/test/cxx/abstract-declarator.cpp =================================================================== --- /dev/null +++ clang-tools-extra/pseudo/test/cxx/abstract-declarator.cpp @@ -0,0 +1,7 @@ +// RUN: clang-pseudo -grammar=%cxx-bnf-file -source=%s --print-forest | FileCheck %s +void s(int[]); +// CHECK: parameter-declaration-list~parameter-declaration := decl-specifier-seq abstract-declarator +// CHECK-NEXT: ââdecl-specifier-seq~INT := tok[3] +// CHECK-NEXT: ââabstract-declarator~noptr-abstract-declarator := [ ] +// CHECK-NEXT: ââ[ := tok[4] +// CHECK-NEXT: ââ] := tok[5] Index: clang-tools-extra/pseudo/lib/cxx.bnf =================================================================== --- clang-tools-extra/pseudo/lib/cxx.bnf +++ clang-tools-extra/pseudo/lib/cxx.bnf @@ -429,7 +429,7 @@ ptr-abstract-declarator := noptr-abstract-declarator ptr-abstract-declarator := ptr-operator ptr-abstract-declarator_opt noptr-abstract-declarator := noptr-abstract-declarator_opt parameters-and-qualifiers -noptr-abstract-declarator := noptr-abstract-declarator_opt [ constant-expression ] +noptr-abstract-declarator := noptr-abstract-declarator_opt [ constant-expression_opt ] noptr-abstract-declarator := ( ptr-abstract-declarator ) abstract-pack-declarator := noptr-abstract-pack-declarator abstract-pack-declarator := ptr-operator abstract-pack-declarator
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits