brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.1 KiB · da1c8db Raw
311 lines · c
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -ast-dump=json %s | FileCheck %s2 3#line 4 "test.c"4int a;5 6#line 32 "bar.h"7int b;8int c;9 10#line 11 "test.c"11int d;12int e;13// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py14 15 16// CHECK-NOT: {{^}}Dumping17// CHECK:  "kind": "TranslationUnitDecl",18// CHECK-NEXT:  "loc": {},19// CHECK-NEXT:  "range": {20// CHECK-NEXT:   "begin": {},21// CHECK-NEXT:   "end": {}22// CHECK-NEXT:  },23// CHECK-NEXT:  "inner": [24// CHECK-NEXT:   {25// CHECK-NEXT:    "id": "0x{{.*}}",26// CHECK-NEXT:    "kind": "TypedefDecl",27// CHECK-NEXT:    "loc": {},28// CHECK-NEXT:    "range": {29// CHECK-NEXT:     "begin": {},30// CHECK-NEXT:     "end": {}31// CHECK-NEXT:    },32// CHECK-NEXT:    "isImplicit": true,33// CHECK-NEXT:    "name": "__int128_t",34// CHECK-NEXT:    "type": {35// CHECK-NEXT:     "qualType": "__int128"36// CHECK-NEXT:    },37// CHECK-NEXT:    "inner": [38// CHECK-NEXT:     {39// CHECK-NEXT:      "id": "0x{{.*}}",40// CHECK-NEXT:      "kind": "BuiltinType",41// CHECK-NEXT:      "type": {42// CHECK-NEXT:       "qualType": "__int128"43// CHECK-NEXT:      }44// CHECK-NEXT:     }45// CHECK-NEXT:    ]46// CHECK-NEXT:   },47// CHECK-NEXT:   {48// CHECK-NEXT:    "id": "0x{{.*}}",49// CHECK-NEXT:    "kind": "TypedefDecl",50// CHECK-NEXT:    "loc": {},51// CHECK-NEXT:    "range": {52// CHECK-NEXT:     "begin": {},53// CHECK-NEXT:     "end": {}54// CHECK-NEXT:    },55// CHECK-NEXT:    "isImplicit": true,56// CHECK-NEXT:    "name": "__uint128_t",57// CHECK-NEXT:    "type": {58// CHECK-NEXT:     "qualType": "unsigned __int128"59// CHECK-NEXT:    },60// CHECK-NEXT:    "inner": [61// CHECK-NEXT:     {62// CHECK-NEXT:      "id": "0x{{.*}}",63// CHECK-NEXT:      "kind": "BuiltinType",64// CHECK-NEXT:      "type": {65// CHECK-NEXT:       "qualType": "unsigned __int128"66// CHECK-NEXT:      }67// CHECK-NEXT:     }68// CHECK-NEXT:    ]69// CHECK-NEXT:   },70// CHECK-NEXT:   {71// CHECK-NEXT:    "id": "0x{{.*}}",72// CHECK-NEXT:    "kind": "TypedefDecl",73// CHECK-NEXT:    "loc": {},74// CHECK-NEXT:    "range": {75// CHECK-NEXT:     "begin": {},76// CHECK-NEXT:     "end": {}77// CHECK-NEXT:    },78// CHECK-NEXT:    "isImplicit": true,79// CHECK-NEXT:    "name": "__NSConstantString",80// CHECK-NEXT:    "type": {81// CHECK-NEXT:     "qualType": "struct __NSConstantString_tag"82// CHECK-NEXT:    },83// CHECK-NEXT:    "inner": [84// CHECK-NEXT:     {85// CHECK-NEXT:      "id": "0x{{.*}}",86// CHECK-NEXT:      "kind": "RecordType",87// CHECK-NEXT:      "type": {88// CHECK-NEXT:       "qualType": "struct __NSConstantString_tag"89// CHECK-NEXT:      },90// CHECK-NEXT:      "decl": {91// CHECK-NEXT:       "id": "0x{{.*}}",92// CHECK-NEXT:       "kind": "RecordDecl",93// CHECK-NEXT:       "name": "__NSConstantString_tag"94// CHECK-NEXT:      }95// CHECK-NEXT:     }96// CHECK-NEXT:    ]97// CHECK-NEXT:   },98// CHECK-NEXT:   {99// CHECK-NEXT:    "id": "0x{{.*}}",100// CHECK-NEXT:    "kind": "TypedefDecl",101// CHECK-NEXT:    "loc": {},102// CHECK-NEXT:    "range": {103// CHECK-NEXT:     "begin": {},104// CHECK-NEXT:     "end": {}105// CHECK-NEXT:    },106// CHECK-NEXT:    "isImplicit": true,107// CHECK-NEXT:    "name": "__builtin_ms_va_list",108// CHECK-NEXT:    "type": {109// CHECK-NEXT:     "qualType": "char *"110// CHECK-NEXT:    },111// CHECK-NEXT:    "inner": [112// CHECK-NEXT:     {113// CHECK-NEXT:      "id": "0x{{.*}}",114// CHECK-NEXT:      "kind": "PointerType",115// CHECK-NEXT:      "type": {116// CHECK-NEXT:       "qualType": "char *"117// CHECK-NEXT:      },118// CHECK-NEXT:      "inner": [119// CHECK-NEXT:       {120// CHECK-NEXT:        "id": "0x{{.*}}",121// CHECK-NEXT:        "kind": "BuiltinType",122// CHECK-NEXT:        "type": {123// CHECK-NEXT:         "qualType": "char"124// CHECK-NEXT:        }125// CHECK-NEXT:       }126// CHECK-NEXT:      ]127// CHECK-NEXT:     }128// CHECK-NEXT:    ]129// CHECK-NEXT:   },130// CHECK-NEXT:   {131// CHECK-NEXT:    "id": "0x{{.*}}",132// CHECK-NEXT:    "kind": "TypedefDecl",133// CHECK-NEXT:    "loc": {},134// CHECK-NEXT:    "range": {135// CHECK-NEXT:     "begin": {},136// CHECK-NEXT:     "end": {}137// CHECK-NEXT:    },138// CHECK-NEXT:    "isImplicit": true,139// CHECK-NEXT:    "name": "__builtin_va_list",140// CHECK-NEXT:    "type": {141// CHECK-NEXT:     "qualType": "struct __va_list_tag[1]"142// CHECK-NEXT:    },143// CHECK-NEXT:    "inner": [144// CHECK-NEXT:     {145// CHECK-NEXT:      "id": "0x{{.*}}",146// CHECK-NEXT:      "kind": "ConstantArrayType",147// CHECK-NEXT:      "type": {148// CHECK-NEXT:       "qualType": "struct __va_list_tag[1]"149// CHECK-NEXT:      },150// CHECK-NEXT:      "size": 1,151// CHECK-NEXT:      "inner": [152// CHECK-NEXT:       {153// CHECK-NEXT:        "id": "0x{{.*}}",154// CHECK-NEXT:        "kind": "RecordType",155// CHECK-NEXT:        "type": {156// CHECK-NEXT:         "qualType": "struct __va_list_tag"157// CHECK-NEXT:        },158// CHECK-NEXT:        "decl": {159// CHECK-NEXT:         "id": "0x{{.*}}",160// CHECK-NEXT:         "kind": "RecordDecl",161// CHECK-NEXT:         "name": "__va_list_tag"162// CHECK-NEXT:        }163// CHECK-NEXT:       }164// CHECK-NEXT:      ]165// CHECK-NEXT:     }166// CHECK-NEXT:    ]167// CHECK-NEXT:   },168// CHECK-NEXT:   {169// CHECK-NEXT:    "id": "0x{{.*}}",170// CHECK-NEXT:    "kind": "VarDecl",171// CHECK-NEXT:    "loc": {172// CHECK-NEXT:     "offset": {{[0-9]+}},173// CHECK-NEXT:     "file": "{{.*}}",174// CHECK-NEXT:     "line": 4,175// CHECK-NEXT:     "presumedFile": "{{.*}}",176// CHECK-NEXT:     "col": 5,177// CHECK-NEXT:     "tokLen": 1178// CHECK-NEXT:    },179// CHECK-NEXT:    "range": {180// CHECK-NEXT:     "begin": {181// CHECK-NEXT:      "offset": {{[0-9]+}},182// CHECK-NEXT:      "col": 1,183// CHECK-NEXT:      "tokLen": 3184// CHECK-NEXT:     },185// CHECK-NEXT:     "end": {186// CHECK-NEXT:      "offset": {{[0-9]+}},187// CHECK-NEXT:      "col": 5,188// CHECK-NEXT:      "tokLen": 1189// CHECK-NEXT:     }190// CHECK-NEXT:    },191// CHECK-NEXT:    "name": "a",192// CHECK-NEXT:    "mangledName": "a",193// CHECK-NEXT:    "type": {194// CHECK-NEXT:     "qualType": "int"195// CHECK-NEXT:    }196// CHECK-NEXT:   },197// CHECK-NEXT:   {198// CHECK-NEXT:    "id": "0x{{.*}}",199// CHECK-NEXT:    "kind": "VarDecl",200// CHECK-NEXT:    "loc": {201// CHECK-NEXT:     "offset": {{[0-9]+}},202// CHECK-NEXT:     "line": 7,203// CHECK-NEXT:     "presumedFile": "bar.h",204// CHECK-NEXT:     "presumedLine": 32,205// CHECK-NEXT:     "col": 5,206// CHECK-NEXT:     "tokLen": 1207// CHECK-NEXT:    },208// CHECK-NEXT:    "range": {209// CHECK-NEXT:     "begin": {210// CHECK-NEXT:      "offset": {{[0-9]+}},211// CHECK-NEXT:      "col": 1,212// CHECK-NEXT:      "tokLen": 3213// CHECK-NEXT:     },214// CHECK-NEXT:     "end": {215// CHECK-NEXT:      "offset": {{[0-9]+}},216// CHECK-NEXT:      "col": 5,217// CHECK-NEXT:      "tokLen": 1218// CHECK-NEXT:     }219// CHECK-NEXT:    },220// CHECK-NEXT:    "name": "b",221// CHECK-NEXT:    "mangledName": "b",222// CHECK-NEXT:    "type": {223// CHECK-NEXT:     "qualType": "int"224// CHECK-NEXT:    }225// CHECK-NEXT:   },226// CHECK-NEXT:   {227// CHECK-NEXT:    "id": "0x{{.*}}",228// CHECK-NEXT:    "kind": "VarDecl",229// CHECK-NEXT:    "loc": {230// CHECK-NEXT:     "offset": {{[0-9]+}},231// CHECK-NEXT:     "line": 8,232// CHECK-NEXT:     "presumedLine": 33,233// CHECK-NEXT:     "col": 5,234// CHECK-NEXT:     "tokLen": 1235// CHECK-NEXT:    },236// CHECK-NEXT:    "range": {237// CHECK-NEXT:     "begin": {238// CHECK-NEXT:      "offset": {{[0-9]+}},239// CHECK-NEXT:      "col": 1,240// CHECK-NEXT:      "tokLen": 3241// CHECK-NEXT:     },242// CHECK-NEXT:     "end": {243// CHECK-NEXT:      "offset": {{[0-9]+}},244// CHECK-NEXT:      "col": 5,245// CHECK-NEXT:      "tokLen": 1246// CHECK-NEXT:     }247// CHECK-NEXT:    },248// CHECK-NEXT:    "name": "c",249// CHECK-NEXT:    "mangledName": "c",250// CHECK-NEXT:    "type": {251// CHECK-NEXT:     "qualType": "int"252// CHECK-NEXT:    }253// CHECK-NEXT:   },254// CHECK-NEXT:   {255// CHECK-NEXT:    "id": "0x{{.*}}",256// CHECK-NEXT:    "kind": "VarDecl",257// CHECK-NEXT:    "loc": {258// CHECK-NEXT:     "offset": {{[0-9]+}},259// CHECK-NEXT:     "line": 11,260// CHECK-NEXT:     "presumedFile": "{{.*}}",261// CHECK-NEXT:     "col": 5,262// CHECK-NEXT:     "tokLen": 1263// CHECK-NEXT:    },264// CHECK-NEXT:    "range": {265// CHECK-NEXT:     "begin": {266// CHECK-NEXT:      "offset": {{[0-9]+}},267// CHECK-NEXT:      "col": 1,268// CHECK-NEXT:      "tokLen": 3269// CHECK-NEXT:     },270// CHECK-NEXT:     "end": {271// CHECK-NEXT:      "offset": {{[0-9]+}},272// CHECK-NEXT:      "col": 5,273// CHECK-NEXT:      "tokLen": 1274// CHECK-NEXT:     }275// CHECK-NEXT:    },276// CHECK-NEXT:    "name": "d",277// CHECK-NEXT:    "mangledName": "d",278// CHECK-NEXT:    "type": {279// CHECK-NEXT:     "qualType": "int"280// CHECK-NEXT:    }281// CHECK-NEXT:   },282// CHECK-NEXT:   {283// CHECK-NEXT:    "id": "0x{{.*}}",284// CHECK-NEXT:    "kind": "VarDecl",285// CHECK-NEXT:    "loc": {286// CHECK-NEXT:     "offset": {{[0-9]+}},287// CHECK-NEXT:     "line": 12,288// CHECK-NEXT:     "col": 5,289// CHECK-NEXT:     "tokLen": 1290// CHECK-NEXT:    },291// CHECK-NEXT:    "range": {292// CHECK-NEXT:     "begin": {293// CHECK-NEXT:      "offset": {{[0-9]+}},294// CHECK-NEXT:      "col": 1,295// CHECK-NEXT:      "tokLen": 3296// CHECK-NEXT:     },297// CHECK-NEXT:     "end": {298// CHECK-NEXT:      "offset": {{[0-9]+}},299// CHECK-NEXT:      "col": 5,300// CHECK-NEXT:      "tokLen": 1301// CHECK-NEXT:     }302// CHECK-NEXT:    },303// CHECK-NEXT:    "name": "e",304// CHECK-NEXT:    "mangledName": "e",305// CHECK-NEXT:    "type": {306// CHECK-NEXT:     "qualType": "int"307// CHECK-NEXT:    }308// CHECK-NEXT:   }309// CHECK-NEXT:  ]310// CHECK-NEXT: }311