DEBUGINFO: binding enchancement && composite type support
- structured datatypes usable in debug info - bindings for llvm/Support/Dwarf.h (llvm 3.9) makes easier introducing dwarf constants from LLVM - added HANDLE_DW_LANG generating sequence DW_LANGs (DW_LANG_Kotlin equals DW_LANG_C89 for now). - refactoring : g/c typo - tag (DwarfTag) of the type added as parameter in DICreateReplaceableCompositeType - binding for creating reference type - binding for creating array type.
This commit is contained in:
committed by
vvlevchenko
parent
8fbc06809a
commit
dc8bcc677a
+158
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* Copyright 2010-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jetbrains.kotlin.backend.konan.llvm
|
||||
/**
|
||||
* This code was generated with following command:
|
||||
* $ clang -xc -E -Idist/dependencies/clang-llvm-3.9.0-darwin-macos/include/ llvmDebugInfoC/src/dwarf/include/dwarf_util.kt.pp -Wp,-P -Wp,-CC -o - | sed -e '/^$/d' -e '/^\ *\/\/.*$/d' > backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/Dwarf.kt
|
||||
*
|
||||
*/
|
||||
internal enum class DwarfTag(val value:Int) {
|
||||
DW_TAG_array_type(0x0001),
|
||||
DW_TAG_class_type(0x0002),
|
||||
DW_TAG_entry_point(0x0003),
|
||||
DW_TAG_enumeration_type(0x0004),
|
||||
DW_TAG_formal_parameter(0x0005),
|
||||
DW_TAG_imported_declaration(0x0008),
|
||||
DW_TAG_label(0x000a),
|
||||
DW_TAG_lexical_block(0x000b),
|
||||
DW_TAG_member(0x000d),
|
||||
DW_TAG_pointer_type(0x000f),
|
||||
DW_TAG_reference_type(0x0010),
|
||||
DW_TAG_compile_unit(0x0011),
|
||||
DW_TAG_string_type(0x0012),
|
||||
DW_TAG_structure_type(0x0013),
|
||||
DW_TAG_subroutine_type(0x0015),
|
||||
DW_TAG_typedef(0x0016),
|
||||
DW_TAG_union_type(0x0017),
|
||||
DW_TAG_unspecified_parameters(0x0018),
|
||||
DW_TAG_variant(0x0019),
|
||||
DW_TAG_common_block(0x001a),
|
||||
DW_TAG_common_inclusion(0x001b),
|
||||
DW_TAG_inheritance(0x001c),
|
||||
DW_TAG_inlined_subroutine(0x001d),
|
||||
DW_TAG_module(0x001e),
|
||||
DW_TAG_ptr_to_member_type(0x001f),
|
||||
DW_TAG_set_type(0x0020),
|
||||
DW_TAG_subrange_type(0x0021),
|
||||
DW_TAG_with_stmt(0x0022),
|
||||
DW_TAG_access_declaration(0x0023),
|
||||
DW_TAG_base_type(0x0024),
|
||||
DW_TAG_catch_block(0x0025),
|
||||
DW_TAG_const_type(0x0026),
|
||||
DW_TAG_constant(0x0027),
|
||||
DW_TAG_enumerator(0x0028),
|
||||
DW_TAG_file_type(0x0029),
|
||||
DW_TAG_friend(0x002a),
|
||||
DW_TAG_namelist(0x002b),
|
||||
DW_TAG_namelist_item(0x002c),
|
||||
DW_TAG_packed_type(0x002d),
|
||||
DW_TAG_subprogram(0x002e),
|
||||
DW_TAG_template_type_parameter(0x002f),
|
||||
DW_TAG_template_value_parameter(0x0030),
|
||||
DW_TAG_thrown_type(0x0031),
|
||||
DW_TAG_try_block(0x0032),
|
||||
DW_TAG_variant_part(0x0033),
|
||||
DW_TAG_variable(0x0034),
|
||||
DW_TAG_volatile_type(0x0035),
|
||||
DW_TAG_dwarf_procedure(0x0036),
|
||||
DW_TAG_restrict_type(0x0037),
|
||||
DW_TAG_interface_type(0x0038),
|
||||
DW_TAG_namespace(0x0039),
|
||||
DW_TAG_imported_module(0x003a),
|
||||
DW_TAG_unspecified_type(0x003b),
|
||||
DW_TAG_partial_unit(0x003c),
|
||||
DW_TAG_imported_unit(0x003d),
|
||||
DW_TAG_condition(0x003f),
|
||||
DW_TAG_shared_type(0x0040),
|
||||
DW_TAG_type_unit(0x0041),
|
||||
DW_TAG_rvalue_reference_type(0x0042),
|
||||
DW_TAG_template_alias(0x0043),
|
||||
DW_TAG_coarray_type(0x0044),
|
||||
DW_TAG_generic_subrange(0x0045),
|
||||
DW_TAG_dynamic_type(0x0046),
|
||||
DW_TAG_MIPS_loop(0x4081),
|
||||
DW_TAG_format_label(0x4101),
|
||||
DW_TAG_function_template(0x4102),
|
||||
DW_TAG_class_template(0x4103),
|
||||
DW_TAG_GNU_template_template_param(0x4106),
|
||||
DW_TAG_GNU_template_parameter_pack(0x4107),
|
||||
DW_TAG_GNU_formal_parameter_pack(0x4108),
|
||||
DW_TAG_APPLE_property(0x4200),
|
||||
DW_TAG_BORLAND_property(0xb000),
|
||||
DW_TAG_BORLAND_Delphi_string(0xb001),
|
||||
DW_TAG_BORLAND_Delphi_dynamic_array(0xb002),
|
||||
DW_TAG_BORLAND_Delphi_set(0xb003),
|
||||
DW_TAG_BORLAND_Delphi_variant(0xb004),
|
||||
}
|
||||
internal enum class DwarfTypeKind(val value:Byte) {
|
||||
DW_ATE_address(0x01),
|
||||
DW_ATE_boolean(0x02),
|
||||
DW_ATE_complex_float(0x03),
|
||||
DW_ATE_float(0x04),
|
||||
DW_ATE_signed(0x05),
|
||||
DW_ATE_signed_char(0x06),
|
||||
DW_ATE_unsigned(0x07),
|
||||
DW_ATE_unsigned_char(0x08),
|
||||
DW_ATE_imaginary_float(0x09),
|
||||
DW_ATE_packed_decimal(0x0a),
|
||||
DW_ATE_numeric_string(0x0b),
|
||||
DW_ATE_edited(0x0c),
|
||||
DW_ATE_signed_fixed(0x0d),
|
||||
DW_ATE_unsigned_fixed(0x0e),
|
||||
DW_ATE_decimal_float(0x0f),
|
||||
DW_ATE_UTF(0x10),
|
||||
}
|
||||
internal enum class DwarfLanguage(val value:Int) {
|
||||
DW_LANG_C89(0x0001),
|
||||
DW_LANG_C(0x0002),
|
||||
DW_LANG_Ada83(0x0003),
|
||||
DW_LANG_C_plus_plus(0x0004),
|
||||
DW_LANG_Cobol74(0x0005),
|
||||
DW_LANG_Cobol85(0x0006),
|
||||
DW_LANG_Fortran77(0x0007),
|
||||
DW_LANG_Fortran90(0x0008),
|
||||
DW_LANG_Pascal83(0x0009),
|
||||
DW_LANG_Modula2(0x000a),
|
||||
DW_LANG_Java(0x000b),
|
||||
DW_LANG_C99(0x000c),
|
||||
DW_LANG_Ada95(0x000d),
|
||||
DW_LANG_Fortran95(0x000e),
|
||||
DW_LANG_PLI(0x000f),
|
||||
DW_LANG_ObjC(0x0010),
|
||||
DW_LANG_ObjC_plus_plus(0x0011),
|
||||
DW_LANG_UPC(0x0012),
|
||||
DW_LANG_D(0x0013),
|
||||
DW_LANG_Python(0x0014),
|
||||
DW_LANG_OpenCL(0x0015),
|
||||
DW_LANG_Go(0x0016),
|
||||
DW_LANG_Modula3(0x0017),
|
||||
DW_LANG_Haskell(0x0018),
|
||||
DW_LANG_C_plus_plus_03(0x0019),
|
||||
DW_LANG_C_plus_plus_11(0x001a),
|
||||
DW_LANG_OCaml(0x001b),
|
||||
DW_LANG_Rust(0x001c),
|
||||
DW_LANG_C11(0x001d),
|
||||
DW_LANG_Swift(0x001e),
|
||||
DW_LANG_Julia(0x001f),
|
||||
DW_LANG_Dylan(0x0020),
|
||||
DW_LANG_C_plus_plus_14(0x0021),
|
||||
DW_LANG_Fortran03(0x0022),
|
||||
DW_LANG_Fortran08(0x0023),
|
||||
DW_LANG_Mips_Assembler(0x8001),
|
||||
DW_LANG_GOOGLE_RenderScript(0x8e57),
|
||||
DW_LANG_BORLAND_Delphi(0xb000),
|
||||
DW_LANG_Kotlin(0x0001) /* manually added, should be changed someday. */
|
||||
}
|
||||
Reference in New Issue
Block a user