Apply patch from Anthony Green to add java language support to Dwarf generation.
From-SVN: r35460
This commit is contained in:
parent
e81b330a2d
commit
28985b8152
|
@ -1,3 +1,12 @@
|
|||
2000-08-03 Anthony Green <green@cygnus.com>
|
||||
|
||||
* dwarf2out.c (gen_compile_unit_die): Add java language support.
|
||||
(add_bound_info): Check for java language.
|
||||
(is_java): New function.
|
||||
* dwarfout.c (output_compile_unit_die): Ditto.
|
||||
* dwarf.h (dwarf_source_language): Add java source language type.
|
||||
* dwarf2.h (dwarf_source_language): Ditto.
|
||||
|
||||
Thu Aug 3 20:32:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* reg-stack.c (subst_stack_regs_pat): Use replace_reg to swap
|
||||
|
|
|
@ -302,7 +302,8 @@ enum dwarf_source_language {
|
|||
LANG_FORTRAN77 = 0x00000007,
|
||||
LANG_FORTRAN90 = 0x00000008,
|
||||
LANG_PASCAL83 = 0x00000009,
|
||||
LANG_MODULA2 = 0x0000000a
|
||||
LANG_MODULA2 = 0x0000000a,
|
||||
LANG_JAVA = 0x00009af4
|
||||
};
|
||||
|
||||
#define LANG_lo_user 0x00008000 /* implementation-defined range start */
|
||||
|
|
|
@ -534,7 +534,8 @@ enum dwarf_source_language
|
|||
DW_LANG_Fortran90 = 0x0008,
|
||||
DW_LANG_Pascal83 = 0x0009,
|
||||
DW_LANG_Modula2 = 0x000a,
|
||||
DW_LANG_Mips_Assembler = 0x8001
|
||||
DW_LANG_Mips_Assembler = 0x8001,
|
||||
DW_LANG_Java = 0x9af4
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -3324,6 +3324,7 @@ static unsigned get_AT_unsigned PARAMS ((dw_die_ref,
|
|||
static inline dw_die_ref get_AT_ref PARAMS ((dw_die_ref,
|
||||
enum dwarf_attribute));
|
||||
static int is_c_family PARAMS ((void));
|
||||
static int is_java PARAMS ((void));
|
||||
static int is_fortran PARAMS ((void));
|
||||
static void remove_AT PARAMS ((dw_die_ref,
|
||||
enum dwarf_attribute));
|
||||
|
@ -4516,6 +4517,14 @@ is_fortran ()
|
|||
return (lang == DW_LANG_Fortran77 || lang == DW_LANG_Fortran90);
|
||||
}
|
||||
|
||||
static inline int
|
||||
is_java ()
|
||||
{
|
||||
register unsigned lang = get_AT_unsigned (comp_unit_die, DW_AT_language);
|
||||
|
||||
return (lang == DW_LANG_Java);
|
||||
}
|
||||
|
||||
/* Free up the memory used by A. */
|
||||
|
||||
static inline void free_AT PARAMS ((dw_attr_ref));
|
||||
|
@ -7407,7 +7416,7 @@ add_bound_info (subrange_die, bound_attr, bound)
|
|||
case INTEGER_CST:
|
||||
if (! host_integerp (bound, 0)
|
||||
|| (bound_attr == DW_AT_lower_bound
|
||||
&& ((is_c_family () && integer_zerop (bound))
|
||||
&& (((is_c_family () || is_java ()) && integer_zerop (bound))
|
||||
|| (is_fortran () && integer_onep (bound)))))
|
||||
/* use the default */
|
||||
;
|
||||
|
@ -9036,6 +9045,8 @@ gen_compile_unit_die (filename)
|
|||
language = DW_LANG_Fortran77;
|
||||
else if (strcmp (language_string, "GNU Pascal") == 0)
|
||||
language = DW_LANG_Pascal83;
|
||||
else if (strcmp (language_string, "GNU Java") == 0)
|
||||
language = DW_LANG_Java;
|
||||
else if (flag_traditional)
|
||||
language = DW_LANG_C;
|
||||
else
|
||||
|
|
|
@ -3703,6 +3703,8 @@ output_compile_unit_die (arg)
|
|||
language_attribute (LANG_FORTRAN77);
|
||||
else if (strcmp (language_string, "GNU Pascal") == 0)
|
||||
language_attribute (LANG_PASCAL83);
|
||||
else if (strcmp (language_string, "GNU Java") == 0)
|
||||
language_attribute (LANG_JAVA);
|
||||
else if (flag_traditional)
|
||||
language_attribute (LANG_C);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue