| { |
| "copyright" : [ |
| "Copyright (c) 2017 The Khronos Group Inc.", |
| "", |
| "Permission is hereby granted, free of charge, to any person obtaining a copy", |
| "of this software and/or associated documentation files (the \"Materials\"),", |
| "to deal in the Materials without restriction, including without limitation", |
| "the rights to use, copy, modify, merge, publish, distribute, sublicense,", |
| "and/or sell copies of the Materials, and to permit persons to whom the", |
| "Materials are furnished to do so, subject to the following conditions:", |
| "", |
| "The above copyright notice and this permission notice shall be included in", |
| "all copies or substantial portions of the Materials.", |
| "", |
| "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS", |
| "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND", |
| "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ", |
| "", |
| "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS", |
| "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,", |
| "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL", |
| "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER", |
| "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING", |
| "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS", |
| "IN THE MATERIALS." |
| ], |
| "version" : 100, |
| "revision" : 1, |
| "instructions" : [ |
| { |
| "opname" : "DebugInfoNone", |
| "opcode" : 0 |
| }, |
| { |
| "opname" : "DebugCompilationUnit", |
| "opcode" : 1, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Version'" }, |
| { "kind" : "LiteralInteger", "name" : "'DWARF Version'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeBasic", |
| "opcode" : 2, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Size'" }, |
| { "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypePointer", |
| "opcode" : 3, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Base Type'" }, |
| { "kind" : "StorageClass", "name" : "'Storage Class'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Literal Flags'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeQualifier", |
| "opcode" : 4, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Base Type'" }, |
| { "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeArray", |
| "opcode" : 5, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Base Type'" }, |
| { "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeVector", |
| "opcode" : 6, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Base Type'" }, |
| { "kind" : "LiteralInteger", "name" : "'Component Count'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypedef", |
| "opcode" : 7, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Base Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeFunction", |
| "opcode" : 8, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Return Type'" }, |
| { "kind" : "IdRef", "name" : "'Paramter Types'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeEnum", |
| "opcode" : 9, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Underlying Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Size'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, |
| { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeComposite", |
| "opcode" : 10, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "DebugCompositeType", "name" : "'Tag'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Size'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, |
| { "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeMember", |
| "opcode" : 11, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Offset'" }, |
| { "kind" : "IdRef", "name" : "'Size'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, |
| { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeInheritance", |
| "opcode" : 12, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Child'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Offset'" }, |
| { "kind" : "IdRef", "name" : "'Size'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypePtrToMember", |
| "opcode" : 13, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Member Type'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeTemplate", |
| "opcode" : 14, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Target'" }, |
| { "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeTemplateParameter", |
| "opcode" : 15, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Actual Type'" }, |
| { "kind" : "IdRef", "name" : "'Value'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeTemplateTemplateParameter", |
| "opcode" : 16, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Template Name'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" } |
| ] |
| }, |
| { |
| "opname" : "DebugTypeTemplateParameterPack", |
| "opcode" : 17, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugGlobalVariable", |
| "opcode" : 18, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Linkage Name'" }, |
| { "kind" : "IdRef", "name" : "'Variable'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, |
| { "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugFunctionDeclaration", |
| "opcode" : 19, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Linkage Name'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" } |
| ] |
| }, |
| { |
| "opname" : "DebugFunction", |
| "opcode" : 20, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Linkage Name'" }, |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, |
| { "kind" : "LiteralInteger", "name" : "'Scope Line'" }, |
| { "kind" : "IdRef", "name" : "'Function'" }, |
| { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugLexicalBlock", |
| "opcode" : 21, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugLexicalBlockDiscriminator", |
| "opcode" : 22, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Scope'" }, |
| { "kind" : "LiteralInteger", "name" : "'Discriminator'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" } |
| ] |
| }, |
| { |
| "opname" : "DebugScope", |
| "opcode" : 23, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Scope'" }, |
| { "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugNoScope", |
| "opcode" : 24 |
| }, |
| { |
| "opname" : "DebugInlinedAt", |
| "opcode" : 25, |
| "operands" : [ |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "IdRef", "name" : "'Scope'" }, |
| { "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugLocalVariable", |
| "opcode" : 26, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Type'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, |
| { "kind" : "IdRef", "name" : "'Parent'" }, |
| { "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugInlinedVariable", |
| "opcode" : 27, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Variable'" }, |
| { "kind" : "IdRef", "name" : "'Inlined'" } |
| ] |
| }, |
| { |
| "opname" : "DebugDeclare", |
| "opcode" : 28, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Local Variable'" }, |
| { "kind" : "IdRef", "name" : "'Variable'" }, |
| { "kind" : "IdRef", "name" : "'Expression'" } |
| ] |
| }, |
| { |
| "opname" : "DebugValue", |
| "opcode" : 29, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Value'" }, |
| { "kind" : "IdRef", "name" : "'Expression'" }, |
| { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugOperation", |
| "opcode" : 30, |
| "operands" : [ |
| { "kind" : "DebugOperation", "name" : "'OpCode'" }, |
| { "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugExpression", |
| "opcode" : 31, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" } |
| ] |
| }, |
| { |
| "opname" : "DebugMacroDef", |
| "opcode" : 32, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "IdRef", "name" : "'Name'" }, |
| { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "DebugMacroUndef", |
| "opcode" : 33, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "IdRef", "name" : "'Macro'" } |
| ] |
| } |
| ], |
| "operand_kinds" : [ |
| { |
| "category" : "BitEnum", |
| "kind" : "DebugInfoFlags", |
| "enumerants" : [ |
| { |
| "enumerant" : "FlagIsProtected", |
| "value" : "0x01" |
| }, |
| { |
| "enumerant" : "FlagIsPrivate", |
| "value" : "0x02" |
| }, |
| { |
| "enumerant" : "FlagIsPublic", |
| "value" : "0x03" |
| }, |
| { |
| "enumerant" : "FlagIsLocal", |
| "value" : "0x04" |
| }, |
| { |
| "enumerant" : "FlagIsDefinition", |
| "value" : "0x08" |
| }, |
| { |
| "enumerant" : "FlagFwdDecl", |
| "value" : "0x10" |
| }, |
| { |
| "enumerant" : "FlagArtificial", |
| "value" : "0x20" |
| }, |
| { |
| "enumerant" : "FlagExplicit", |
| "value" : "0x40" |
| }, |
| { |
| "enumerant" : "FlagPrototyped", |
| "value" : "0x80" |
| }, |
| { |
| "enumerant" : "FlagObjectPointer", |
| "value" : "0x100" |
| }, |
| { |
| "enumerant" : "FlagStaticMember", |
| "value" : "0x200" |
| }, |
| { |
| "enumerant" : "FlagIndirectVariable", |
| "value" : "0x400" |
| }, |
| { |
| "enumerant" : "FlagLValueReference", |
| "value" : "0x800" |
| }, |
| { |
| "enumerant" : "FlagRValueReference", |
| "value" : "0x1000" |
| }, |
| { |
| "enumerant" : "FlagIsOptimized", |
| "value" : "0x2000" |
| } |
| ] |
| }, |
| { |
| "category" : "ValueEnum", |
| "kind" : "DebugBaseTypeAttributeEncoding", |
| "enumerants" : [ |
| { |
| "enumerant" : "Unspecified", |
| "value" : "0" |
| }, |
| { |
| "enumerant" : "Address", |
| "value" : "1" |
| }, |
| { |
| "enumerant" : "Boolean", |
| "value" : "2" |
| }, |
| { |
| "enumerant" : "Float", |
| "value" : "4" |
| }, |
| { |
| "enumerant" : "Signed", |
| "value" : "5" |
| }, |
| { |
| "enumerant" : "SignedChar", |
| "value" : "6" |
| }, |
| { |
| "enumerant" : "Unsigned", |
| "value" : "7" |
| }, |
| { |
| "enumerant" : "UnsignedChar", |
| "value" : "8" |
| } |
| ] |
| }, |
| { |
| "category" : "ValueEnum", |
| "kind" : "DebugCompositeType", |
| "enumerants" : [ |
| { |
| "enumerant" : "Class", |
| "value" : "0" |
| }, |
| { |
| "enumerant" : "Structure", |
| "value" : "1" |
| }, |
| { |
| "enumerant" : "Union", |
| "value" : "2" |
| } |
| ] |
| }, |
| { |
| "category" : "ValueEnum", |
| "kind" : "DebugTypeQualifier", |
| "enumerants" : [ |
| { |
| "enumerant" : "ConstType", |
| "value" : "0" |
| }, |
| { |
| "enumerant" : "VolatileType", |
| "value" : "1" |
| }, |
| { |
| "enumerant" : "RestrictType", |
| "value" : "2" |
| } |
| ] |
| }, |
| { |
| "category" : "ValueEnum", |
| "kind" : "DebugOperation", |
| "enumerants" : [ |
| { |
| "enumerant" : "Deref", |
| "value" : "0" |
| }, |
| { |
| "enumerant" : "Plus", |
| "value" : "1" |
| }, |
| { |
| "enumerant" : "Minus", |
| "value" : "2" |
| }, |
| { |
| "enumerant" : "PlusUconst", |
| "value" : "3", |
| "parameters" : [ |
| { "kind" : "LiteralInteger" } |
| ] |
| }, |
| { |
| "enumerant" : "BitPiece", |
| "value" : "4", |
| "parameters" : [ |
| { "kind" : "LiteralInteger" }, |
| { "kind" : "LiteralInteger" } |
| ] |
| }, |
| { |
| "enumerant" : "Swap", |
| "value" : "5" |
| }, |
| { |
| "enumerant" : "Xderef", |
| "value" : "6" |
| }, |
| { |
| "enumerant" : "StackValue", |
| "value" : "7" |
| }, |
| { |
| "enumerant" : "Constu", |
| "value" : "8", |
| "parameters" : [ |
| { "kind" : "LiteralInteger" } |
| ] |
| } |
| ] |
| } |
| ] |
| } |