}
\f
-/* Check whether decl-node NEW shadows an existing declaration. */
+/* Check whether decl-node DECL shadows an existing declaration. */
static void
-warn_if_shadowing (tree new)
+warn_if_shadowing (tree decl)
{
struct c_binding *b;
/* Shadow warnings wanted? */
if (!warn_shadow
/* No shadow warnings for internally generated vars. */
- || DECL_IS_BUILTIN (new)
+ || DECL_IS_BUILTIN (decl)
/* No shadow warnings for vars made for inlining. */
- || DECL_FROM_INLINE (new)
+ || DECL_FROM_INLINE (decl)
/* Don't warn about the parm names in function declarator
within a function declarator. It would be nice to avoid
warning in any function declarator in a declaration, as
opposed to a definition, but there is no way to tell
it's not a definition at this point. */
- || (TREE_CODE (new) == PARM_DECL && current_scope->outer->parm_flag))
+ || (TREE_CODE (decl) == PARM_DECL && current_scope->outer->parm_flag))
return;
/* Is anything being shadowed? Invisible decls do not count. */
- for (b = I_SYMBOL_BINDING (DECL_NAME (new)); b; b = b->shadowed)
- if (b->decl && b->decl != new && !b->invisible)
+ for (b = I_SYMBOL_BINDING (DECL_NAME (decl)); b; b = b->shadowed)
+ if (b->decl && b->decl != decl && !b->invisible)
{
tree old = b->decl;
if (TREE_CODE (old) == PARM_DECL)
- warning ("%Jdeclaration of '%D' shadows a parameter", new, new);
+ warning ("%Jdeclaration of '%D' shadows a parameter", decl, decl);
else if (DECL_FILE_SCOPE_P (old))
warning ("%Jdeclaration of '%D' shadows a global declaration",
- new, new);
+ decl, decl);
else if (TREE_CODE (old) == FUNCTION_DECL && DECL_BUILT_IN (old))
warning ("%Jdeclaration of '%D' shadows a built-in function",
- new, new);
+ decl, decl);
else
- warning ("%Jdeclaration of '%D' shadows a previous local", new, new);
+ warning ("%Jdeclaration of '%D' shadows a previous local", decl, decl);
if (TREE_CODE (old) != FUNCTION_DECL || !DECL_BUILT_IN (old))
warning ("%Jshadowed declaration is here", old);
return gen_rtx_fmt_ee (code, mode, op0, op1);
}
\f
-/* Replace all occurrences of OLD in X with NEW and try to simplify the
+/* Replace all occurrences of OLDX in X with NEWX and try to simplify the
resulting RTX. Return a new RTX which is as simplified as possible. */
rtx
-simplify_replace_rtx (rtx x, rtx old, rtx new)
+simplify_replace_rtx (rtx x, rtx oldx, rtx newx)
{
enum rtx_code code = GET_CODE (x);
enum machine_mode mode = GET_MODE (x);
enum machine_mode op_mode;
rtx op0, op1, op2;
- /* If X is OLD, return NEW. Otherwise, if this is an expression, try
+ /* If X is OLDX, return NEWX. Otherwise, if this is an expression, try
to build a new expression substituting recursively. If we can't do
anything, return our input. */
- if (x == old)
- return new;
+ if (x == oldx)
+ return newx;
switch (GET_RTX_CLASS (code))
{
case RTX_UNARY:
op0 = XEXP (x, 0);
op_mode = GET_MODE (op0);
- op0 = simplify_replace_rtx (op0, old, new);
+ op0 = simplify_replace_rtx (op0, oldx, newx);
if (op0 == XEXP (x, 0))
return x;
return simplify_gen_unary (code, mode, op0, op_mode);
case RTX_BIN_ARITH:
case RTX_COMM_ARITH:
- op0 = simplify_replace_rtx (XEXP (x, 0), old, new);
- op1 = simplify_replace_rtx (XEXP (x, 1), old, new);
+ op0 = simplify_replace_rtx (XEXP (x, 0), oldx, newx);
+ op1 = simplify_replace_rtx (XEXP (x, 1), oldx, newx);
if (op0 == XEXP (x, 0) && op1 == XEXP (x, 1))
return x;
return simplify_gen_binary (code, mode, op0, op1);
op0 = XEXP (x, 0);
op1 = XEXP (x, 1);
op_mode = GET_MODE (op0) != VOIDmode ? GET_MODE (op0) : GET_MODE (op1);
- op0 = simplify_replace_rtx (op0, old, new);
- op1 = simplify_replace_rtx (op1, old, new);
+ op0 = simplify_replace_rtx (op0, oldx, newx);
+ op1 = simplify_replace_rtx (op1, oldx, newx);
if (op0 == XEXP (x, 0) && op1 == XEXP (x, 1))
return x;
return simplify_gen_relational (code, mode, op_mode, op0, op1);
case RTX_BITFIELD_OPS:
op0 = XEXP (x, 0);
op_mode = GET_MODE (op0);
- op0 = simplify_replace_rtx (op0, old, new);
- op1 = simplify_replace_rtx (XEXP (x, 1), old, new);
- op2 = simplify_replace_rtx (XEXP (x, 2), old, new);
+ op0 = simplify_replace_rtx (op0, oldx, newx);
+ op1 = simplify_replace_rtx (XEXP (x, 1), oldx, newx);
+ op2 = simplify_replace_rtx (XEXP (x, 2), oldx, newx);
if (op0 == XEXP (x, 0) && op1 == XEXP (x, 1) && op2 == XEXP (x, 2))
return x;
if (op_mode == VOIDmode)
/* The only case we try to handle is a SUBREG. */
if (code == SUBREG)
{
- op0 = simplify_replace_rtx (SUBREG_REG (x), old, new);
+ op0 = simplify_replace_rtx (SUBREG_REG (x), oldx, newx);
if (op0 == SUBREG_REG (x))
return x;
op0 = simplify_gen_subreg (GET_MODE (x), op0,
case RTX_OBJ:
if (code == MEM)
{
- op0 = simplify_replace_rtx (XEXP (x, 0), old, new);
+ op0 = simplify_replace_rtx (XEXP (x, 0), oldx, newx);
if (op0 == XEXP (x, 0))
return x;
return replace_equiv_address_nv (x, op0);
}
else if (code == LO_SUM)
{
- op0 = simplify_replace_rtx (XEXP (x, 0), old, new);
- op1 = simplify_replace_rtx (XEXP (x, 1), old, new);
+ op0 = simplify_replace_rtx (XEXP (x, 0), oldx, newx);
+ op1 = simplify_replace_rtx (XEXP (x, 1), oldx, newx);
/* (lo_sum (high x) x) -> x */
if (GET_CODE (op0) == HIGH && rtx_equal_p (XEXP (op0, 0), op1))
}
else if (code == REG)
{
- if (REG_P (old) && REGNO (x) == REGNO (old))
- return new;
+ if (REG_P (oldx) && REGNO (x) == REGNO (oldx))
+ return newx;
}
break;
}
else if (code == EQ)
{
- enum rtx_code new = reversed_comparison_code (op0, NULL_RTX);
- if (new != UNKNOWN)
- return simplify_gen_relational (new, mode, VOIDmode,
+ enum rtx_code new_code = reversed_comparison_code (op0, NULL_RTX);
+ if (new_code != UNKNOWN)
+ return simplify_gen_relational (new_code, mode, VOIDmode,
XEXP (op0, 0), XEXP (op0, 1));
}
}
{
enum machine_mode innermostmode = GET_MODE (SUBREG_REG (op));
int final_offset = byte + SUBREG_BYTE (op);
- rtx new;
+ rtx newx;
if (outermode == innermostmode
&& byte == 0 && SUBREG_BYTE (op) == 0)
}
/* Recurse for further possible simplifications. */
- new = simplify_subreg (outermode, SUBREG_REG (op),
+ newx = simplify_subreg (outermode, SUBREG_REG (op),
GET_MODE (SUBREG_REG (op)),
final_offset);
- if (new)
- return new;
+ if (newx)
+ return newx;
return gen_rtx_SUBREG (outermode, SUBREG_REG (op), final_offset);
}
simplify_gen_subreg (enum machine_mode outermode, rtx op,
enum machine_mode innermode, unsigned int byte)
{
- rtx new;
+ rtx newx;
/* Little bit of sanity checking. */
if (innermode == VOIDmode || outermode == VOIDmode
|| innermode == BLKmode || outermode == BLKmode)
|| byte >= GET_MODE_SIZE (innermode))
abort ();
- new = simplify_subreg (outermode, op, innermode, byte);
- if (new)
- return new;
+ newx = simplify_subreg (outermode, op, innermode, byte);
+ if (newx)
+ return newx;
if (GET_CODE (op) == SUBREG || GET_MODE (op) == VOIDmode)
return NULL_RTX;