aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>2000-07-28 03:43:13 +0000
committerJim Wilson <wilson@gcc.gnu.org>2000-07-27 20:43:13 -0700
commitfb41a1065985ab534e1c254839fc42d0fe9235d0 (patch)
tree25ffc98bde2a01effb03d401261aea525ff4a95f
parent8fec62b1385878a7bea55bed340b6f4d14ac7aa5 (diff)
downloadgcc-fb41a1065985ab534e1c254839fc42d0fe9235d0.zip
gcc-fb41a1065985ab534e1c254839fc42d0fe9235d0.tar.gz
gcc-fb41a1065985ab534e1c254839fc42d0fe9235d0.tar.bz2
Fix dwarf2out abort found while compiling PlumHall on IA-64.
* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if DECL_INITIAL (decl) == NULL_TREE. From-SVN: r35310
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f8e2ea5..01dd21f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-27 Jim Wilson <wilson@cygnus.com>
+
+ * dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
+ DECL_INITIAL (decl) == NULL_TREE.
+
2000-07-27 Alexandre Oliva <aoliva@redhat.com>
* Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 6b04b77..8918783 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -9675,7 +9675,11 @@ gen_decl_die (decl, context_die)
/* If we're emitting an out-of-line copy of an inline function,
emit info for the abstract instance and set up to refer to it. */
if (DECL_INLINE (decl) && ! DECL_ABSTRACT (decl)
- && ! class_scope_p (context_die))
+ && ! class_scope_p (context_die)
+ /* gen_abstract_function won't emit a die if this is just a
+ declaration. We must avoid setting DECL_ABSTRACT_ORIGIN in
+ that case, because that works only if we have a die. */
+ && DECL_INITIAL (decl) != NULL_TREE)
{
gen_abstract_function (decl);
set_decl_origin_self (decl);