33 lines
1020 B
Diff
33 lines
1020 B
Diff
|
Index: gcc/dwarf2out.c
|
|||
|
===================================================================
|
|||
|
--- gcc/dwarf2out.c (revision 244963)
|
|||
|
+++ gcc/dwarf2out.c (working copy)
|
|||
|
@@ -6154,12 +6154,21 @@ check_die (dw_die_ref die)
|
|||
|
between distinct inlined expansions or distinct out-of-line
|
|||
|
expansions. */
|
|||
|
FOR_EACH_VEC_SAFE_ELT (die->die_attr, ix, a)
|
|||
|
- gcc_assert (a->dw_attr != DW_AT_low_pc
|
|||
|
- && a->dw_attr != DW_AT_high_pc
|
|||
|
- && a->dw_attr != DW_AT_location
|
|||
|
- && a->dw_attr != DW_AT_frame_base
|
|||
|
- && a->dw_attr != DW_AT_call_all_calls
|
|||
|
- && a->dw_attr != DW_AT_GNU_all_call_sites);
|
|||
|
+ {
|
|||
|
+ if (a->dw_attr != DW_AT_low_pc
|
|||
|
+ && a->dw_attr != DW_AT_high_pc
|
|||
|
+ && a->dw_attr != DW_AT_location
|
|||
|
+ && a->dw_attr != DW_AT_frame_base
|
|||
|
+ && a->dw_attr != DW_AT_call_all_calls
|
|||
|
+ && a->dw_attr != DW_AT_GNU_all_call_sites)
|
|||
|
+ ;
|
|||
|
+ else
|
|||
|
+ {
|
|||
|
+ fprintf (stderr, "Broken inline DIE:\n");
|
|||
|
+ debug_dwarf_die (die);
|
|||
|
+ gcc_unreachable ();
|
|||
|
+ }
|
|||
|
+ }
|
|||
|
}
|
|||
|
}
|
|||
|
|