OSDN Git Service

* expr.c (store_constructor): Use gen_int_mode to correctly
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Mar 2004 16:15:59 +0000 (16:15 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Mar 2004 16:15:59 +0000 (16:15 +0000)
sign-extend CONST_INT value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80022 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index 156d56b..e60ed81 100644 (file)
@@ -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.
index d77b6e5..fd129c1 100644 (file)
@@ -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