diff options
author | Jim Wilson <wilson@cygnus.com> | 1998-05-19 15:31:53 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1998-05-19 08:31:53 -0700 |
commit | af02da670bfb62cf65c8eaaad0d2f3a5315d84f5 (patch) | |
tree | c54c968896b49d0462ebe45dab5ffb8d35ce28e5 /gcc/dwarfout.c | |
parent | ae0a6181ecc5b70c69810de5f9887291294ac2d9 (diff) | |
download | gcc-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.c | 12 |
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 |