diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarfout.c | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e1660b19f99..811a157a4b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1998-05-19 Jim Wilson <wilson@cygnus.com> + + * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore + LANG_TYPE trees with DECL_SOURCE_LINE of 0. + Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org> * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined. diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c index e80a2c9a92f..ce9df47efd3 100644 --- a/gcc/dwarfout.c +++ b/gcc/dwarfout.c @@ -5190,8 +5190,18 @@ dwarfout_file_scope_decl (decl, set_finalizing) really need to output these (non-fundamental) types because other DIEs may contain references to them. */ + /* Also ignore language dependent types here, because they are probably + also built-in types. If we didn't ignore them, then we would get + references to undefined labels because output_type doesn't support + them. So, for now, we need to ignore them to avoid assembler + errors. */ + + /* ??? This code is different than the equivalent code in dwarf2out.c. + The dwarf2out.c code is probably more correct. */ + if (DECL_SOURCE_LINE (decl) == 0 - && type_is_fundamental (TREE_TYPE (decl))) + && (type_is_fundamental (TREE_TYPE (decl)) + || TREE_CODE (TREE_TYPE (decl)) == LANG_TYPE)) return; /* If we are in terse mode, don't generate any DIEs to represent |