diff options
| author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-19 03:06:51 +0000 |
|---|---|---|
| committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-19 03:06:51 +0000 |
| commit | d799a62969010c98bc73069756aff0ef930c3693 (patch) | |
| tree | 5b8eec255bd29b8f66c2de2a5c97d8e6f4bc684e | |
| parent | d3d1d245c4e69600953be50559dc99d9dcb69284 (diff) | |
| download | ppe42-gcc-d799a62969010c98bc73069756aff0ef930c3693.tar.gz ppe42-gcc-d799a62969010c98bc73069756aff0ef930c3693.zip | |
Fix problem that caused compiled java code to trigger an internal gdb error.
PR c++/19769
* dwarf2out.c (declare_in_namespace): Ignore decls with an abstract
origin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96715 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/dwarf2out.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d0882f39e29..8033f04b1c1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-03-18 James E Wilson <wilson@specifixinc.com> + + PR c++/19769 + * dwarf2out.c (declare_in_namespace): Ignore decls with an abstract + origin. + 2005-03-18 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300-protos.h: Remove the prototypes for diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 5157ae358bc..cc3c9f47a5b 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -12557,6 +12557,12 @@ declare_in_namespace (tree thing, dw_die_ref context_die) if (debug_info_level <= DINFO_LEVEL_TERSE) return; + /* If this decl is from an inlined function, then don't try to emit it in its + namespace, as we will get confused. It would have already been emitted + when the abstract instance of the inline function was emitted anyways. */ + if (DECL_P (thing) && DECL_ABSTRACT_ORIGIN (thing)) + return; + ns_context = setup_namespace_context (thing, context_die); if (ns_context != context_die) |

