mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 23:16:35 +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
14 lines
679 B
C++
14 lines
679 B
C++
// RUN: clang-pseudo -grammar=cxx -source=%s --print-forest | FileCheck %s
|
|
auto x = { complete garbage };
|
|
// CHECK: translation-unit~simple-declaration
|
|
// CHECK-NEXT: ├─decl-specifier-seq~AUTO := tok[0]
|
|
// CHECK-NEXT: ├─init-declarator-list~init-declarator
|
|
// CHECK-NEXT: │ ├─non-function-declarator~IDENTIFIER := tok[1]
|
|
// CHECK-NEXT: │ └─initializer~brace-or-equal-initializer
|
|
// CHECK-NEXT: │ ├─= := tok[2]
|
|
// CHECK-NEXT: │ └─initializer-clause~braced-init-list
|
|
// CHECK-NEXT: │ ├─{ := tok[3]
|
|
// CHECK-NEXT: │ ├─initializer-list := <opaque>
|
|
// CHECK-NEXT: │ └─} := tok[6]
|
|
// CHECK-NEXT: └─; := tok[7]
|