brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · fb9b411 Raw
202 lines · c
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump=json %s | FileCheck %s2 3#define FOO frobble4#define BAR FOO5 6void FOO(void);7void BAR(void);8 9#define BING(x)	x10 11void BING(quux)(void);12 13#define BLIP(x, y) x ## y14#define BLAP(x, y) BLIP(x, y)15 16void BLAP(foo, __COUNTER__)(void);17void BLAP(foo, __COUNTER__)(void);18 19// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py20// using --filters=FunctionDecl21 22// CHECK-NOT: {{^}}Dumping23// CHECK:  "kind": "FunctionDecl",24// CHECK-NEXT:  "loc": {25// CHECK-NEXT:   "spellingLoc": {26// CHECK-NEXT:    "offset": {{[0-9]+}},27// CHECK-NEXT:    "file": "{{.*}}",28// CHECK-NEXT:    "line": 3,29// CHECK-NEXT:    "col": 13,30// CHECK-NEXT:    "tokLen": 731// CHECK-NEXT:   },32// CHECK-NEXT:   "expansionLoc": {33// CHECK-NEXT:    "offset": {{[0-9]+}},34// CHECK-NEXT:    "line": 6,35// CHECK-NEXT:    "col": 6,36// CHECK-NEXT:    "tokLen": 337// CHECK-NEXT:   }38// CHECK-NEXT:  },39// CHECK-NEXT:  "range": {40// CHECK-NEXT:   "begin": {41// CHECK-NEXT:    "offset": {{[0-9]+}},42// CHECK-NEXT:    "col": 1,43// CHECK-NEXT:    "tokLen": 444// CHECK-NEXT:   },45// CHECK-NEXT:   "end": {46// CHECK-NEXT:    "offset": {{[0-9]+}},47// CHECK-NEXT:    "col": 14,48// CHECK-NEXT:    "tokLen": 149// CHECK-NEXT:   }50// CHECK-NEXT:  },51// CHECK-NEXT:  "name": "frobble",52// CHECK-NEXT:  "mangledName": "frobble",53// CHECK-NEXT:  "type": {54// CHECK-NEXT:   "qualType": "void (void)"55// CHECK-NEXT:  }56// CHECK-NEXT: }57 58// CHECK-NOT: {{^}}Dumping59// CHECK:  "kind": "FunctionDecl",60// CHECK-NEXT:  "loc": {61// CHECK-NEXT:   "spellingLoc": {62// CHECK-NEXT:    "offset": {{[0-9]+}},63// CHECK-NEXT:    "line": 3,64// CHECK-NEXT:    "col": 13,65// CHECK-NEXT:    "tokLen": 766// CHECK-NEXT:   },67// CHECK-NEXT:   "expansionLoc": {68// CHECK-NEXT:    "offset": {{[0-9]+}},69// CHECK-NEXT:    "line": 7,70// CHECK-NEXT:    "col": 6,71// CHECK-NEXT:    "tokLen": 372// CHECK-NEXT:   }73// CHECK-NEXT:  },74// CHECK-NEXT:  "range": {75// CHECK-NEXT:   "begin": {76// CHECK-NEXT:    "offset": {{[0-9]+}},77// CHECK-NEXT:    "col": 1,78// CHECK-NEXT:    "tokLen": 479// CHECK-NEXT:   },80// CHECK-NEXT:   "end": {81// CHECK-NEXT:    "offset": {{[0-9]+}},82// CHECK-NEXT:    "col": 14,83// CHECK-NEXT:    "tokLen": 184// CHECK-NEXT:   }85// CHECK-NEXT:  },86// CHECK-NEXT:  "previousDecl": "0x{{.*}}",87// CHECK-NEXT:  "name": "frobble",88// CHECK-NEXT:  "mangledName": "frobble",89// CHECK-NEXT:  "type": {90// CHECK-NEXT:   "qualType": "void (void)"91// CHECK-NEXT:  }92// CHECK-NEXT: }93 94// CHECK-NOT: {{^}}Dumping95// CHECK:  "kind": "FunctionDecl",96// CHECK-NEXT:  "loc": {97// CHECK-NEXT:   "spellingLoc": {98// CHECK-NEXT:    "offset": {{[0-9]+}},99// CHECK-NEXT:    "line": 11,100// CHECK-NEXT:    "col": 11,101// CHECK-NEXT:    "tokLen": 4102// CHECK-NEXT:   },103// CHECK-NEXT:   "expansionLoc": {104// CHECK-NEXT:    "offset": {{[0-9]+}},105// CHECK-NEXT:    "col": 6,106// CHECK-NEXT:    "tokLen": 4,107// CHECK-NEXT:    "isMacroArgExpansion": true108// CHECK-NEXT:   }109// CHECK-NEXT:  },110// CHECK-NEXT:  "range": {111// CHECK-NEXT:   "begin": {112// CHECK-NEXT:    "offset": {{[0-9]+}},113// CHECK-NEXT:    "col": 1,114// CHECK-NEXT:    "tokLen": 4115// CHECK-NEXT:   },116// CHECK-NEXT:   "end": {117// CHECK-NEXT:    "offset": {{[0-9]+}},118// CHECK-NEXT:    "col": 21,119// CHECK-NEXT:    "tokLen": 1120// CHECK-NEXT:   }121// CHECK-NEXT:  },122// CHECK-NEXT:  "name": "quux",123// CHECK-NEXT:  "mangledName": "quux",124// CHECK-NEXT:  "type": {125// CHECK-NEXT:   "qualType": "void (void)"126// CHECK-NEXT:  }127// CHECK-NEXT: }128 129// CHECK-NOT: {{^}}Dumping130// CHECK:  "kind": "FunctionDecl",131// CHECK-NEXT:  "loc": {132// CHECK-NEXT:   "spellingLoc": {133// CHECK-NEXT:    "offset": {{[0-9]+}},134// CHECK-NEXT:    "file": "<scratch space>",135// CHECK-NEXT:    "line": 5,136// CHECK-NEXT:    "col": 1,137// CHECK-NEXT:    "tokLen": 4138// CHECK-NEXT:   },139// CHECK-NEXT:   "expansionLoc": {140// CHECK-NEXT:    "offset": {{[0-9]+}},141// CHECK-NEXT:    "file": "{{.*}}",142// CHECK-NEXT:    "line": 16,143// CHECK-NEXT:    "col": 6,144// CHECK-NEXT:    "tokLen": 4145// CHECK-NEXT:   }146// CHECK-NEXT:  },147// CHECK-NEXT:  "range": {148// CHECK-NEXT:   "begin": {149// CHECK-NEXT:    "offset": {{[0-9]+}},150// CHECK-NEXT:    "col": 1,151// CHECK-NEXT:    "tokLen": 4152// CHECK-NEXT:   },153// CHECK-NEXT:   "end": {154// CHECK-NEXT:    "offset": {{[0-9]+}},155// CHECK-NEXT:    "col": 33,156// CHECK-NEXT:    "tokLen": 1157// CHECK-NEXT:   }158// CHECK-NEXT:  },159// CHECK-NEXT:  "name": "foo0",160// CHECK-NEXT:  "mangledName": "foo0",161// CHECK-NEXT:  "type": {162// CHECK-NEXT:   "qualType": "void (void)"163// CHECK-NEXT:  }164// CHECK-NEXT: }165 166// CHECK-NOT: {{^}}Dumping167// CHECK:  "kind": "FunctionDecl",168// CHECK-NEXT:  "loc": {169// CHECK-NEXT:   "spellingLoc": {170// CHECK-NEXT:    "offset": {{[0-9]+}},171// CHECK-NEXT:    "file": "<scratch space>",172// CHECK-NEXT:    "line": 7,173// CHECK-NEXT:    "col": 1,174// CHECK-NEXT:    "tokLen": 4175// CHECK-NEXT:   },176// CHECK-NEXT:   "expansionLoc": {177// CHECK-NEXT:    "offset": {{[0-9]+}},178// CHECK-NEXT:    "file": "{{.*}}",179// CHECK-NEXT:    "line": 17,180// CHECK-NEXT:    "col": 6,181// CHECK-NEXT:    "tokLen": 4182// CHECK-NEXT:   }183// CHECK-NEXT:  },184// CHECK-NEXT:  "range": {185// CHECK-NEXT:   "begin": {186// CHECK-NEXT:    "offset": {{[0-9]+}},187// CHECK-NEXT:    "col": 1,188// CHECK-NEXT:    "tokLen": 4189// CHECK-NEXT:   },190// CHECK-NEXT:   "end": {191// CHECK-NEXT:    "offset": {{[0-9]+}},192// CHECK-NEXT:    "col": 33,193// CHECK-NEXT:    "tokLen": 1194// CHECK-NEXT:   }195// CHECK-NEXT:  },196// CHECK-NEXT:  "name": "foo1",197// CHECK-NEXT:  "mangledName": "foo1",198// CHECK-NEXT:  "type": {199// CHECK-NEXT:   "qualType": "void (void)"200// CHECK-NEXT:  }201// CHECK-NEXT: }202