Commit 8d8238b6 by Jason Merrill Committed by Jason Merrill

dwarf2out.c (gen_subprogram_die): Fixup die_parent for the abstract instance of…

dwarf2out.c (gen_subprogram_die): Fixup die_parent for the abstract instance of a nested inline function.

        * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
        abstract instance of a nested inline function.

        * stor-layout.c (finish_record_layout): finalize_type_size
        before laying out the pending_statics.

From-SVN: r33820
parent fe517fb2
2000-05-10 Jason Merrill <jason@casey.cygnus.com>
* dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
abstract instance of a nested inline function.
* stor-layout.c (finish_record_layout): finalize_type_size
before laying out the pending_statics.
Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net> Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net>
* cpplex.c (spell_token): New function. * cpplex.c (spell_token): New function.
......
...@@ -8160,6 +8160,11 @@ gen_subprogram_die (decl, context_die) ...@@ -8160,6 +8160,11 @@ gen_subprogram_die (decl, context_die)
if (declaration && ! local_scope_p (context_die)) if (declaration && ! local_scope_p (context_die))
abort (); abort ();
/* Fixup die_parent for the abstract instance of a nested
inline function. */
if (old_die && old_die->die_parent == NULL)
add_child_die (context_die, old_die);
subr_die = new_die (DW_TAG_subprogram, context_die); subr_die = new_die (DW_TAG_subprogram, context_die);
add_abstract_origin_attribute (subr_die, origin); add_abstract_origin_attribute (subr_die, origin);
} }
......
...@@ -1162,6 +1162,9 @@ finish_record_layout (rli) ...@@ -1162,6 +1162,9 @@ finish_record_layout (rli)
/* Compute the TYPE_MODE for the record. */ /* Compute the TYPE_MODE for the record. */
compute_record_mode (rli->t); compute_record_mode (rli->t);
/* Perform any last tweaks to the TYPE_SIZE, etc. */
finalize_type_size (rli->t);
/* Lay out any static members. This is done now because their type /* Lay out any static members. This is done now because their type
may use the record's type. */ may use the record's type. */
while (rli->pending_statics) while (rli->pending_statics)
...@@ -1170,9 +1173,6 @@ finish_record_layout (rli) ...@@ -1170,9 +1173,6 @@ finish_record_layout (rli)
rli->pending_statics = TREE_CHAIN (rli->pending_statics); rli->pending_statics = TREE_CHAIN (rli->pending_statics);
} }
/* Perform any last tweaks to the TYPE_SIZE, etc. */
finalize_type_size (rli->t);
/* Clean up. */ /* Clean up. */
free (rli); free (rli);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment