|
|
|
["TranslationUnitDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 2,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__int128_t",
|
|
|
|
"qual_name" : [
|
|
|
|
"__int128_t"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 3,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__uint128_t",
|
|
|
|
"qual_name" : [
|
|
|
|
"__uint128_t"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 4,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__NSConstantString",
|
|
|
|
"qual_name" : [
|
|
|
|
"__NSConstantString"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 5,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__builtin_ms_va_list",
|
|
|
|
"qual_name" : [
|
|
|
|
"__builtin_ms_va_list"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 6,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__builtin_va_list",
|
|
|
|
"qual_name" : [
|
|
|
|
"__builtin_va_list"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["FunctionDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 7,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"file" : "tests/c_attributes.c",
|
|
|
|
"line" : 7,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 60
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"attributes" : [
|
|
|
|
["SentinelAttr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 8,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 45
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 58
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"sentinel" : 0,
|
|
|
|
"null_pos" : 1
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "add_all_ints",
|
|
|
|
"qual_name" : [
|
|
|
|
"add_all_ints"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 9
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_variadic" : true,
|
|
|
|
"parameters" : [
|
|
|
|
["ParmVarDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 10,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 18
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 22
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "a",
|
|
|
|
"qual_name" : [
|
|
|
|
"a"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 11
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"parm_index_in_function" : 0
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 12,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "instancetype",
|
|
|
|
"qual_name" : [
|
|
|
|
"instancetype"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
13,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"input_path" : "tests/c_attributes.c",
|
|
|
|
"input_kind" : "IK_C",
|
|
|
|
"integer_type_widths" : {
|
|
|
|
"char_type" : 8,
|
|
|
|
"short_type" : 16,
|
|
|
|
"int_type" : 32,
|
|
|
|
"long_type" : 64,
|
|
|
|
"longlong_type" : 64
|
|
|
|
},
|
|
|
|
"types" : [
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 14
|
|
|
|
},
|
|
|
|
"Void"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 15
|
|
|
|
},
|
|
|
|
"Bool"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 16
|
|
|
|
},
|
|
|
|
"Char_S"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 17
|
|
|
|
},
|
|
|
|
"SChar"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 18
|
|
|
|
},
|
|
|
|
"Short"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 11
|
|
|
|
},
|
|
|
|
"Int"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 19
|
|
|
|
},
|
|
|
|
"Long"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 20
|
|
|
|
},
|
|
|
|
"LongLong"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 21
|
|
|
|
},
|
|
|
|
"UChar"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 22
|
|
|
|
},
|
|
|
|
"UShort"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 23
|
|
|
|
},
|
|
|
|
"UInt"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 24
|
|
|
|
},
|
|
|
|
"ULong"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 25
|
|
|
|
},
|
|
|
|
"ULongLong"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 26
|
|
|
|
},
|
|
|
|
"Float"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 27
|
|
|
|
},
|
|
|
|
"Double"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 28
|
|
|
|
},
|
|
|
|
"LongDouble"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 29
|
|
|
|
},
|
|
|
|
"Float128"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 30
|
|
|
|
},
|
|
|
|
"Float16"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 31
|
|
|
|
},
|
|
|
|
"ShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 32
|
|
|
|
},
|
|
|
|
"Accum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 33
|
|
|
|
},
|
|
|
|
"LongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 34
|
|
|
|
},
|
|
|
|
"UShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 35
|
|
|
|
},
|
|
|
|
"UAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 36
|
|
|
|
},
|
|
|
|
"ULongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 37
|
|
|
|
},
|
|
|
|
"ShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 38
|
|
|
|
},
|
|
|
|
"Fract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 39
|
|
|
|
},
|
|
|
|
"LongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 40
|
|
|
|
},
|
|
|
|
"UShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 41
|
|
|
|
},
|
|
|
|
"UFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 42
|
|
|
|
},
|
|
|
|
"ULongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 43
|
|
|
|
},
|
|
|
|
"SatShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 44
|
|
|
|
},
|
|
|
|
"SatAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 45
|
|
|
|
},
|
|
|
|
"SatLongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 46
|
|
|
|
},
|
|
|
|
"SatUShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 47
|
|
|
|
},
|
|
|
|
"SatUAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 48
|
|
|
|
},
|
|
|
|
"SatULongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 49
|
|
|
|
},
|
|
|
|
"SatShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 50
|
|
|
|
},
|
|
|
|
"SatFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 51
|
|
|
|
},
|
|
|
|
"SatLongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 52
|
|
|
|
},
|
|
|
|
"SatUShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 53
|
|
|
|
},
|
|
|
|
"SatUFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 54
|
|
|
|
},
|
|
|
|
"SatULongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 55
|
|
|
|
},
|
|
|
|
"Int128"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 56
|
|
|
|
},
|
|
|
|
"UInt128"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 57
|
|
|
|
},
|
|
|
|
"WChar_S"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 58
|
|
|
|
},
|
|
|
|
"Char8"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 59
|
|
|
|
},
|
|
|
|
"Dependent"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 60
|
|
|
|
},
|
|
|
|
"Overload"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 61
|
|
|
|
},
|
|
|
|
"BoundMember"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 62
|
|
|
|
},
|
|
|
|
"PseudoObject"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 63
|
|
|
|
},
|
|
|
|
"UnknownAny"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 64
|
|
|
|
},
|
|
|
|
"ARCUnbridgedCast"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 65
|
|
|
|
},
|
|
|
|
"BuiltinFn"
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 66
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 67
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 68
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 69
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 70
|
|
|
|
},
|
|
|
|
"ObjCId"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 71
|
|
|
|
},
|
|
|
|
"ObjCClass"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 72
|
|
|
|
},
|
|
|
|
"ObjCSel"
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 73
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 14
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 74
|
|
|
|
},
|
|
|
|
"NullPtr"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 75
|
|
|
|
},
|
|
|
|
"Half"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 76
|
|
|
|
},
|
|
|
|
"BFloat16"
|
|
|
|
]],
|
|
|
|
["RecordType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 77
|
|
|
|
},
|
|
|
|
78
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 79
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 11,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 80
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 16,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 81
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 16
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["RecordType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 82
|
|
|
|
},
|
|
|
|
83
|
|
|
|
]],
|
|
|
|
["ConstantArrayType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 84
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"element_type" : {
|
|
|
|
"type_ptr" : 82
|
|
|
|
},
|
|
|
|
"stride" : 24
|
|
|
|
},
|
|
|
|
1
|
|
|
|
]],
|
|
|
|
["FunctionProtoType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 9
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"return_type" : {
|
|
|
|
"type_ptr" : 11
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"params_type" : [
|
|
|
|
{
|
|
|
|
"type_ptr" : 11
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 85
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"base_type" : 70
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectPointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 86
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 85
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 87,
|
|
|
|
"desugared_type" : 86
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"child_type" : {
|
|
|
|
"type_ptr" : 86
|
|
|
|
},
|
|
|
|
"decl_ptr" : 88
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 13,
|
|
|
|
"desugared_type" : 86
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"child_type" : {
|
|
|
|
"type_ptr" : 87
|
|
|
|
},
|
|
|
|
"decl_ptr" : 12
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["NoneType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 0
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]]
|