diff options
author | David Edelsohn <dje@gcc.gnu.org> | 2001-12-02 01:06:18 -0500 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2001-12-02 01:06:18 -0500 |
commit | 931db8d24fc885494520d20af485c6cdd5f95f92 (patch) | |
tree | 13f6e5b7a9c1e333087b55722ae2d5a8794a6fe2 /gcc | |
parent | c4d7a90e8a993fc58998b794df0d806781ddf133 (diff) | |
download | gcc-931db8d24fc885494520d20af485c6cdd5f95f92.zip gcc-931db8d24fc885494520d20af485c6cdd5f95f92.tar.gz gcc-931db8d24fc885494520d20af485c6cdd5f95f92.tar.bz2 |
emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT before shifting.
* emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
before shifting.
From-SVN: r47521
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index df03675..6c8fc06 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-12-02 David Edelsohn <edelsohn@gnu.org> + + * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT + before shifting. + 2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk> * c-decl.c (duplicate_decls, push_parm_decl): Remove leading @@ -434,7 +439,7 @@ Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz> * toplev.c: Update comment. * doc/passes.texi: Update. objc: - * ojbc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, + * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override. (objc_init): Update to use c_objc_common_init. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index f3fda29..e7afacd 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1061,8 +1061,10 @@ gen_lowpart_common (mode, x) if (HOST_BITS_PER_WIDE_INT != 64) abort (); - return immed_double_const (i[3 * endian] | (i[1 + endian] << 32), - i[2 - endian] | (i [3 - 3 * endian] << 32), + return immed_double_const (i[3 * endian] + | ((HOST_WIDE_INT) i[1 + endian] << 32), + i[2 - endian] + | ((HOST_WIDE_INT) i[3 - 3 * endian] << 32), mode); #endif } |