This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ping*3: Add more HP extensions to dwarf2.h
- From: Tristan Gingold <gingold at adacore dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Cc: jason at redhat dot com
- Date: Mon, 7 Jun 2010 16:18:24 +0200
- Subject: ping*3: Add more HP extensions to dwarf2.h
- References: <AB4FD3AC-6E31-4AA7-85D6-D8D46FF0E8E0@adacore.com>
Hi,
ping for this patch.
Tristan.
On May 18, 2010, at 9:26 AM, Tristan Gingold wrote:
> Hi,
>
> some HP compilers (well at least on VMS) produces dwarf numbers that aren't present in dwarf2.h.
> This patch adds them.
> It was initially submitted on binutils but because dwarf2.h is shared with gcc I post it here too.
>
> Ok to commit ?
>
> Tristan.
>
> include/
> 2010-05-14 Tristan Gingold <gingold@adacore.com>
>
> * dwarf2.h (enum dwarf_tag): Add DW_TAG_HP_Bliss_field and
> DW_TAG_HP_Bliss_field_set.
> (enum dwarf_attribute): Add DW_AT_HP_prologue, DW_AT_HP_epilogue,
> DW_AT_HP_unit_name, DW_AT_HP_unit_size, DW_AT_HP_widened_byte_size,
> DW_AT_HP_definition_points, DW_AT_HP_default_location and
> DW_AT_HP_is_result_param.
> (enum dwarf_type): Add DW_ATE_HP_VAX_float, DW_ATE_HP_VAX_float_d,
> DW_ATE_HP_packed_decimal, DW_ATE_HP_zoned_decimal, DW_ATE_HP_edited,
> DW_ATE_HP_signed_fixed, DW_ATE_HP_unsigned_fixed,
> DW_ATE_HP_VAX_complex_float and DW_ATE_HP_VAX_complex_float_d.
> (enum dwarf_line_number_x_ops): Add
> DW_LNE_HP_source_file_correlation.
> (enum dwarf_source_language): Add DW_LANG_HP_Bliss,
> DW_LANG_HP_Basic91, DW_LANG_HP_Pascal91, DW_LANG_HP_IMacro,
> DW_LANG_HP_Assembler.
>
> diff --git a/include/dwarf2.h b/include/dwarf2.h
> index 0b03552..85e7991 100644
> --- a/include/dwarf2.h
> +++ b/include/dwarf2.h
> @@ -206,8 +206,12 @@ enum dwarf_tag
>
> /* SGI/MIPS Extensions. */
> DW_TAG_MIPS_loop = 0x4081,
> +
> /* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
> DW_TAG_HP_array_descriptor = 0x4090,
> + DW_TAG_HP_Bliss_field = 0x4091,
> + DW_TAG_HP_Bliss_field_set = 0x4092,
> +
> /* GNU extensions. */
> DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
> DW_TAG_function_template = 0x4102, /* For C++. */
> @@ -390,6 +394,8 @@ enum dwarf_attribute
> /* HP extensions. */
> DW_AT_HP_block_index = 0x2000,
> DW_AT_HP_unmodifiable = 0x2001, /* Same as DW_AT_MIPS_fde. */
> + DW_AT_HP_prologue = 0x2005, /* Same as DW_AT_MIPS_loop_unroll. */
> + DW_AT_HP_epilogue = 0x2008, /* Same as DW_AT_MIPS_stride. */
> DW_AT_HP_actuals_stmt_list = 0x2010,
> dhcp-guest-111:binutils.git gingold$ git diff master -- include/dwarf2.h | cat
> diff --git a/include/dwarf2.h b/include/dwarf2.h
> index 0b03552..85e7991 100644
> --- a/include/dwarf2.h
> +++ b/include/dwarf2.h
> @@ -206,8 +206,12 @@ enum dwarf_tag
>
> /* SGI/MIPS Extensions. */
> DW_TAG_MIPS_loop = 0x4081,
> +
> /* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
> DW_TAG_HP_array_descriptor = 0x4090,
> + DW_TAG_HP_Bliss_field = 0x4091,
> + DW_TAG_HP_Bliss_field_set = 0x4092,
> +
> /* GNU extensions. */
> DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
> DW_TAG_function_template = 0x4102, /* For C++. */
> @@ -390,6 +394,8 @@ enum dwarf_attribute
> /* HP extensions. */
> DW_AT_HP_block_index = 0x2000,
> DW_AT_HP_unmodifiable = 0x2001, /* Same as DW_AT_MIPS_fde. */
> + DW_AT_HP_prologue = 0x2005, /* Same as DW_AT_MIPS_loop_unroll. */
> + DW_AT_HP_epilogue = 0x2008, /* Same as DW_AT_MIPS_stride. */
> DW_AT_HP_actuals_stmt_list = 0x2010,
> DW_AT_HP_proc_per_section = 0x2011,
> DW_AT_HP_raw_data_ptr = 0x2012,
> @@ -402,6 +408,13 @@ enum dwarf_attribute
> DW_AT_HP_all_variables_modifiable = 0x2019,
> DW_AT_HP_linkage_name = 0x201a,
> DW_AT_HP_prof_flags = 0x201b, /* In comp unit of procs_info for -g. */
> + DW_AT_HP_unit_name = 0x201f,
> + DW_AT_HP_unit_size = 0x2020,
> + DW_AT_HP_widened_byte_size = 0x2021,
> + DW_AT_HP_definition_points = 0x2022,
> + DW_AT_HP_default_location = 0x2023,
> + DW_AT_HP_is_result_param = 0x2029,
> +
> /* GNU extensions. */
> DW_AT_sf_names = 0x2101,
> DW_AT_src_info = 0x2102,
> @@ -646,13 +659,22 @@ enum dwarf_type
> DW_ATE_hi_user = 0xff,
>
> /* HP extensions. */
> - DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
> - DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */
> - DW_ATE_HP_float128 = 0x82, /* Floating-point (128 bit). */
> - DW_ATE_HP_complex_float128 = 0x83, /* Complex floating-point (128 bit). */
> - DW_ATE_HP_floathpintel = 0x84, /* Floating-point (82 bit IA64). */
> - DW_ATE_HP_imaginary_float80 = 0x85,
> - DW_ATE_HP_imaginary_float128 = 0x86
> + DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
> + DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */
> + DW_ATE_HP_float128 = 0x82, /* Floating-point (128 bit). */
> + DW_ATE_HP_complex_float128 = 0x83, /* Complex fp (128 bit). */
> + DW_ATE_HP_floathpintel = 0x84, /* Floating-point (82 bit IA64). */
> + DW_ATE_HP_imaginary_float80 = 0x85,
> + DW_ATE_HP_imaginary_float128 = 0x86,
> + DW_ATE_HP_VAX_float = 0x88, /* F or G floating. */
> + DW_ATE_HP_VAX_float_d = 0x89, /* D floating. */
> + DW_ATE_HP_packed_decimal = 0x8a, /* Cobol. */
> + DW_ATE_HP_zoned_decimal = 0x8b, /* Cobol. */
> + DW_ATE_HP_edited = 0x8c, /* Cobol. */
> + DW_ATE_HP_signed_fixed = 0x8d, /* Cobol. */
> + DW_ATE_HP_unsigned_fixed = 0x8e, /* Cobol. */
> + DW_ATE_HP_VAX_complex_float = 0x8f, /* F or G floating complex. */
> + DW_ATE_HP_VAX_complex_float_d = 0x90 /* D floating complex. */
> };
>
> /* Decimal sign encodings. */
> @@ -785,6 +807,7 @@ enum dwarf_line_number_x_ops
> DW_LNE_HP_negate_function_exit = 0x18,
> DW_LNE_HP_negate_front_end_logical = 0x19,
> DW_LNE_HP_define_proc = 0x20,
> + DW_LNE_HP_source_file_correlation = 0x80,
>
> DW_LNE_lo_user = 0x80,
> DW_LNE_hi_user = 0xff
> @@ -875,7 +898,13 @@ enum dwarf_source_language
> /* MIPS. */
> DW_LANG_Mips_Assembler = 0x8001,
> /* UPC. */
> - DW_LANG_Upc = 0x8765
> + DW_LANG_Upc = 0x8765,
> + /* HP extensions. */
> + DW_LANG_HP_Bliss = 0x8003,
> + DW_LANG_HP_Basic91 = 0x8004,
> + DW_LANG_HP_Pascal91 = 0x8005,
> + DW_LANG_HP_IMacro = 0x8006,
> + DW_LANG_HP_Assembler = 0x8007
> };
>
> /* Names and codes for macro information. */
>