diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 885b739..6f13a4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-05-30 Michael Meissner <meissner@redhat.com> + + * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH + instructions. Treat LO_SUM operations as loading the full integer + constant. + 2000-05-30 Richard Henderson <rth@cygnus.com> * combine.c (get_pos_from_mask): Test exact_log2 result as signed. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index c0da422..6090068 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -1289,6 +1289,16 @@ dwarf2out_frame_debug_expr (expr, label) dwarf2out_def_cfa (label, cfa_reg, cfa_offset); break; + /* Skip over HIGH, assuming it will be followed by a LO_SUM, which + will fill in all of the bits. */ + case HIGH: + break; + + case LO_SUM: + cfa_temp_reg = REGNO (dest); + cfa_temp_value = INTVAL (XEXP (src, 1)); + break; + case MEM: /* Saving a register to the stack. Make sure dest is relative to the CFA register. */ |