diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 156d56b3fba..e60ed81dbee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-27 Ulrich Weigand <uweigand@de.ibm.com> + + * expr.c (store_constructor): Use gen_int_mode to correctly + sign-extend CONST_INT value. + 2004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New. diff --git a/gcc/expr.c b/gcc/expr.c index d77b6e5d587..fd129c115b2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -5081,7 +5081,7 @@ store_constructor (tree exp, rtx target, int cleared, HOST_WIDE_INT size) { if (word != 0 || ! cleared) { - rtx datum = GEN_INT (word); + rtx datum = gen_int_mode (word, mode); rtx to_rtx; /* The assumption here is that it is safe to use |