diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38fe038e757..4a505caca60 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -18,6 +18,10 @@ Remove unused variable cfa_offset. * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise. + PR target/54639 + * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset + type promotion to unsigned. + 2013-02-26 Marek Polacek PR tree-optimization/56426 diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c index a6c4b8eb0ff..f490e2d8e21 100644 --- a/gcc/config/mn10300/mn10300.c +++ b/gcc/config/mn10300/mn10300.c @@ -1077,7 +1077,7 @@ mn10300_expand_epilogue (void) /* Insn: add size + 4 * num_regs_to_save + reg_save_bytes - 252,sp. */ this_strategy_size = SIZE_ADD_SP (size + 4 * num_regs_to_save - + reg_save_bytes - 252); + + (int) reg_save_bytes - 252); /* Insn: fmov (##,sp),fs#, fo each fs# to be restored. */ this_strategy_size += SIZE_FMOV_SP (252 - reg_save_bytes - 4 * num_regs_to_save,