re PR lto/45089 (-Os -g -fwhopr dwarf2out ICE)

2010-11-18  Richard Guenther  <rguenther@suse.de>

	PR lto/45089
	* dwarf2out.c (add_AT_die_ref): Work around LTO losing types
	when checking is not enabled.

From-SVN: r166904
This commit is contained in:
Richard Guenther 2010-11-18 14:11:00 +00:00 committed by Richard Biener
parent 8a510ddbcf
commit d96283a052
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-11-18 Richard Guenther <rguenther@suse.de>
PR lto/45089
* dwarf2out.c (add_AT_die_ref): Work around LTO losing types
when checking is not enabled.
2010-11-18 Richard Guenther <rguenther@suse.de>
PR lto/46525

View File

@ -7362,6 +7362,15 @@ add_AT_die_ref (dw_die_ref die, enum dwarf_attribute attr_kind, dw_die_ref targ_
{
dw_attr_node attr;
#ifdef ENABLE_CHECKING
gcc_assert (targ_die != NULL);
#else
/* With LTO we can end up trying to reference something we didn't create
a DIE for. Avoid crashing later on a NULL referenced DIE. */
if (targ_die == NULL)
return;
#endif
attr.dw_attr = attr_kind;
attr.dw_attr_val.val_class = dw_val_class_die_ref;
attr.dw_attr_val.v.val_die_ref.die = targ_die;