mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 13:36:07 +00:00

This eliminates some simple-declaration/function-definition false parses. - implement a function to determine whether a declarator ForestNode is a function declarator; - extend the standard declarator to two guarded function-declarator and non-function-declarator nonterminals; Differential Revision: https://reviews.llvm.org/D129222
10 lines
455 B
C++
10 lines
455 B
C++
// The standard grammar allows an init-list with any declarator, including
|
|
// a function declarator. This creates an ambiguity where a function-definition
|
|
// is misparsed as a simple-declaration.
|
|
|
|
// RUN: clang-pseudo -grammar=cxx -source=%s --print-forest | FileCheck %s
|
|
void s(){};
|
|
// CHECK-NOT: simple-declaration
|
|
// CHECK: function-definition := decl-specifier-seq function-declarator function-body
|
|
// CHECK-NOT: simple-declaration
|