diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e04fef7f368..f2e7b3a9c65 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-11-01 Richard Henderson + + * dwarf2out.c (loc_descriptor_from_tree): Check for null result + from rtl_for_decl_location. + (add_location_or_const_value_attribute): Likewise. + 2000-11-01 Neil Booth * cpplib.c (run_directive): Use correct line number for output diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 77cda6453d0..77de3a9b769 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7506,7 +7506,9 @@ loc_descriptor_from_tree (loc, addressp) rtx rtl = rtl_for_decl_location (loc); enum machine_mode mode = DECL_MODE (loc); - if (CONSTANT_P (rtl)) + if (rtl == NULL_RTX) + break; + else if (CONSTANT_P (rtl)) { ret = new_loc_descr (DW_OP_addr, 0, 0); ret->dw_loc_oprnd1.val_class = dw_val_class_addr; @@ -8274,6 +8276,8 @@ add_location_or_const_value_attribute (die, decl) abort (); rtl = rtl_for_decl_location (decl); + if (rtl == NULL_RTX) + return; switch (GET_CODE (rtl)) {