[PATCH] D126992: [pseudo] Fix noptr-abstract-declarator rule.

Haojian Wu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 3 12:15:58 PDT 2022


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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126992.434106.patch
Type: text/x-patch
Size: 1416 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220603/b2b523a9/attachment.bin>


More information about the cfe-commits mailing list