1 // RUN: clang-pseudo -grammar=cxx -source=%s --print-forest | FileCheck %s
2 void foo(complete garbage
???) {}
3 // CHECK: translation-unit~function-definition := decl-specifier-seq function-declarator function-body
4 // CHECK-NEXT: ├─decl-specifier-seq~VOID := tok[0]
5 // CHECK-NEXT: ├─function-declarator~noptr-declarator := noptr-declarator parameters-and-qualifiers
6 // CHECK-NEXT: │ ├─noptr-declarator~IDENTIFIER := tok[1]
7 // CHECK-NEXT: │ └─parameters-and-qualifiers := ( parameter-declaration-clause [recover=Brackets] )
8 // CHECK-NEXT: │ ├─( := tok[2]
9 // CHECK-NEXT: │ ├─parameter-declaration-clause := <opaque>
10 // CHECK-NEXT: │ └─) := tok[8]
11 // CHECK-NEXT: └─function-body~compound-statement := { }
12 // CHECK-NEXT: ├─{ := tok[9]
13 // CHECK-NEXT: └─} := tok[10]