diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f01b18..9b2cb93 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-10-24 Steve Ellcey <sje@cup.hp.com> + + * expr.c (convert_move): If unsignedp is less then zero there + is no equivalent code. + 2002-10-24 Zack Weinberg <zack@codesourcery.com> * tree.def: Delete mention of nonexistent ARRAY_TYPE fields. @@ -552,7 +552,8 @@ convert_move (to, from, unsignedp) rtx libcall; /* rtx code for making an equivalent value. */ - enum rtx_code equiv_code = (unsignedp ? ZERO_EXTEND : SIGN_EXTEND); + enum rtx_code equiv_code = (unsignedp < 0 ? UNKNOWN + : (unsignedp ? ZERO_EXTEND : SIGN_EXTEND)); to = protect_from_queue (to, 1); from = protect_from_queue (from, 0); |