aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2004-07-09 00:47:47 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2004-07-09 00:47:47 +0000
commit45dc67b726b159bfc8740f442025ef4b6b619836 (patch)
treeb2173c82f257cc08e888fd16c4ea5dd1c096fef4 /gcc
parent9d6bb56678d647dca2e971c5ca11f8446fab70d7 (diff)
downloadgcc-45dc67b726b159bfc8740f442025ef4b6b619836.zip
gcc-45dc67b726b159bfc8740f442025ef4b6b619836.tar.gz
gcc-45dc67b726b159bfc8740f442025ef4b6b619836.tar.bz2
sh.c (sh_va_arg): Initinalize lab_over.
* config/sh/sh.c (sh_va_arg): Initinalize lab_over. * config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses. (MODE_AFTER): Add cast appropriately. * config/sh/sh.md (movdi splitter): Likewise. (casesi_worker_2): Add const qualifier appropriately. (eh_return): Remove unused variable. (insv): Initialize v; From-SVN: r84337
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/sh/sh.c2
-rw-r--r--gcc/config/sh/sh.h4
-rw-r--r--gcc/config/sh/sh.md9
4 files changed, 18 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b6f4818..20ac905 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2004-07-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_va_arg): Initinalize lab_over.
+ * config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
+ (MODE_AFTER): Add cast appropriately.
+ * config/sh/sh.md (movdi splitter): Likewise.
+ (casesi_worker_2): Add const qualifier appropriately.
+ (eh_return): Remove unused variable.
+ (insv): Initialize v;
+
2004-07-08 Richard Henderson <rth@redhat.com>
* config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index d6cf8c3..ef5df6b 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -6295,7 +6295,7 @@ sh_va_arg (tree valist, tree type)
rtx addr_rtx, r;
rtx result_ptr, result = NULL_RTX;
int pass_by_ref = MUST_PASS_IN_STACK (TYPE_MODE (type), type);
- rtx lab_over;
+ rtx lab_over = NULL_RTX;
size = int_size_in_bytes (type);
rsize = (size + UNITS_PER_WORD - 1) & -UNITS_PER_WORD;
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index c9f411a..3c1e94c 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1533,7 +1533,7 @@ extern enum reg_class reg_class_from_letter[];
: 0)
#define CONST_OK_FOR_J16(VALUE) \
- (HOST_BITS_PER_WIDE_INT >= 64 && (VALUE) == (HOST_WIDE_INT) 0xffffffff \
+ ((HOST_BITS_PER_WIDE_INT >= 64 && (VALUE) == (HOST_WIDE_INT) 0xffffffff) \
|| (HOST_BITS_PER_WIDE_INT >= 64 && (VALUE) == (HOST_WIDE_INT) -1 << 32))
#define CONST_OK_FOR_J(VALUE, STR) \
((STR)[1] == '1' && (STR)[2] == '6' ? CONST_OK_FOR_J16 (VALUE) \
@@ -3365,7 +3365,7 @@ extern int rtx_equal_function_value_matters;
(TARGET_HITACHI \
&& recog_memoized (INSN) >= 0 \
&& get_attr_fp_set (INSN) != FP_SET_NONE \
- ? get_attr_fp_set (INSN) \
+ ? (int) get_attr_fp_set (INSN) \
: (MODE))
#define MODE_PRIORITY_TO_MODE(ENTITY, N) \
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 531db46..e901392 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -4068,7 +4068,8 @@
}
/* Try movi / mshflo.l */
val2 = (HOST_WIDE_INT) val >> 32;
- if (val2 == trunc_int_for_mode (val, SImode))
+ if (val2 == ((unsigned HOST_WIDE_INT)
+ trunc_int_for_mode (val, SImode)))
{
operands[1] = gen_mshflo_l_di (operands[0], operands[0],
operands[0]);
@@ -7171,7 +7172,7 @@ mov.l\\t1f,r0\\n\\
"*
{
rtx diff_vec = PATTERN (next_real_insn (operands[2]));
- char *load;
+ const char *load;
if (GET_CODE (diff_vec) != ADDR_DIFF_VEC)
abort ();
@@ -7415,7 +7416,7 @@ mov.l\\t1f,r0\\n\\
[(use (match_operand 0 "register_operand" ""))]
""
{
- rtx tmp, ra = operands[0];
+ rtx ra = operands[0];
if (TARGET_SHMEDIA64)
emit_insn (gen_eh_set_ra_di (ra));
@@ -9258,7 +9259,7 @@ mov.l\\t1f,r0\\n\\
"
{
rtx addr_target, orig_address, shift_reg, qi_val;
- HOST_WIDE_INT bitsize, size, v;
+ HOST_WIDE_INT bitsize, size, v = 0;
rtx x = operands[3];
/* ??? expmed doesn't care for non-register predicates. */