aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarfout.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-05-19 15:31:53 +0000
committerJim Wilson <wilson@gcc.gnu.org>1998-05-19 08:31:53 -0700
commitaf02da670bfb62cf65c8eaaad0d2f3a5315d84f5 (patch)
treec54c968896b49d0462ebe45dab5ffb8d35ce28e5 /gcc/dwarfout.c
parentae0a6181ecc5b70c69810de5f9887291294ac2d9 (diff)
downloadgcc-af02da670bfb62cf65c8eaaad0d2f3a5315d84f5.zip
gcc-af02da670bfb62cf65c8eaaad0d2f3a5315d84f5.tar.gz
gcc-af02da670bfb62cf65c8eaaad0d2f3a5315d84f5.tar.bz2
Fix SCO5 namespace/dwarf interaction bug.
* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore LANG_TYPE trees with DECL_SOURCE_LINE of 0. From-SVN: r19883
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r--gcc/dwarfout.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index e80a2c9..ce9df47 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