diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1993-02-09 17:06:09 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1993-02-09 17:06:09 +0000 |
commit | b5e9dd0342da5d6d632f94cd9acd7277a9f75414 (patch) | |
tree | c0e1d95dc2d3ac18e76a125c135b8be3fb7657c6 /gcc/config/mips | |
parent | ac889e46a9e2228e20caa8c389be3fd415b18ec8 (diff) | |
download | gcc-b5e9dd0342da5d6d632f94cd9acd7277a9f75414.zip gcc-b5e9dd0342da5d6d632f94cd9acd7277a9f75414.tar.gz gcc-b5e9dd0342da5d6d632f94cd9acd7277a9f75414.tar.bz2 |
Fix integer overflows
From-SVN: r3446
Diffstat (limited to 'gcc/config/mips')
-rw-r--r-- | gcc/config/mips/mips.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 29ea966..47b0000 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4398,6 +4398,8 @@ mips_expand_prologue () /* Do any necessary cleanup after a function to restore stack, frame, and regs. */ +#define RA_MASK ((long) 0x80000000) /* 1 << 31 */ + void function_epilogue (file, size) FILE *file; @@ -4505,7 +4507,7 @@ function_epilogue (file, size) save_restore_insns (FALSE, tmp_rtx, tsize, file); - load_only_r31 = (current_frame_info.mask == (1 << 31) + load_only_r31 = (current_frame_info.mask == RA_MASK && current_frame_info.fmask == 0); if (noreorder) @@ -4597,7 +4599,7 @@ function_epilogue (file, size) "%-20s fp=%c leaf=%c alloca=%c setjmp=%c stack=%4ld arg=%3ld reg=%2d/%d delay=%3d/%3dL %3d/%3dJ refs=%3d/%3d/%3d", name, (frame_pointer_needed) ? 'y' : 'n', - ((current_frame_info.mask & (1 << 31)) != 0) ? 'n' : 'y', + ((current_frame_info.mask & RA_MASK) != 0) ? 'n' : 'y', (current_function_calls_alloca) ? 'y' : 'n', (current_function_calls_setjmp) ? 'y' : 'n', (long)current_frame_info.total_size, @@ -4689,7 +4691,7 @@ mips_epilogue_delay_slots () if (current_frame_info.total_size == 0) return 1; - if (current_frame_info.mask == (1 << 31) && current_frame_info.fmask == 0) + if (current_frame_info.mask == RA_MASK && current_frame_info.fmask == 0) return 1; return 0; |