}
\f
-/* Check whether decl-node DECL shadows an existing declaration. */
+/* Check whether decl-node NEW_DECL shadows an existing declaration. */
static void
-warn_if_shadowing (tree decl)
+warn_if_shadowing (tree new_decl)
{
struct c_binding *b;
/* Shadow warnings wanted? */
if (!warn_shadow
/* No shadow warnings for internally generated vars. */
- || DECL_IS_BUILTIN (decl)
+ || DECL_IS_BUILTIN (new_decl)
/* No shadow warnings for vars made for inlining. */
- || DECL_FROM_INLINE (decl)
+ || DECL_FROM_INLINE (new_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 (decl) == PARM_DECL && current_scope->outer->parm_flag))
+ || (TREE_CODE (new_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 (decl)); b; b = b->shadowed)
- if (b->decl && b->decl != decl && !b->invisible)
+ for (b = I_SYMBOL_BINDING (DECL_NAME (new_decl)); b; b = b->shadowed)
+ if (b->decl && b->decl != new_decl && !b->invisible)
{
- tree old = b->decl;
+ tree old_decl = b->decl;
- if (TREE_CODE (old) == PARM_DECL)
- warning ("%Jdeclaration of '%D' shadows a parameter", decl, decl);
- else if (DECL_FILE_SCOPE_P (old))
+ if (TREE_CODE (old_decl) == PARM_DECL)
+ warning ("%Jdeclaration of '%D' shadows a parameter",
+ new_decl, new_decl);
+ else if (DECL_FILE_SCOPE_P (old_decl))
warning ("%Jdeclaration of '%D' shadows a global declaration",
- decl, decl);
- else if (TREE_CODE (old) == FUNCTION_DECL && DECL_BUILT_IN (old))
+ new_decl, new_decl);
+ else if (TREE_CODE (old_decl) == FUNCTION_DECL
+ && DECL_BUILT_IN (old_decl))
warning ("%Jdeclaration of '%D' shadows a built-in function",
- decl, decl);
+ new_decl, new_decl);
else
- warning ("%Jdeclaration of '%D' shadows a previous local", decl, decl);
+ warning ("%Jdeclaration of '%D' shadows a previous local",
+ new_decl, new_decl);
- if (TREE_CODE (old) != FUNCTION_DECL || !DECL_BUILT_IN (old))
- warning ("%Jshadowed declaration is here", old);
+ if (TREE_CODE (old_decl) != FUNCTION_DECL
+ || ! DECL_BUILT_IN (old_decl))
+ warning ("%Jshadowed declaration is here", old_decl);
break;
}
return gen_rtx_fmt_ee (code, mode, op0, op1);
}
\f
-/* Replace all occurrences of OLDX in X with NEWX and try to simplify the
+/* Replace all occurrences of OLD_RTX in X with NEW_RTX and try to simplify the
resulting RTX. Return a new RTX which is as simplified as possible. */
rtx
-simplify_replace_rtx (rtx x, rtx oldx, rtx newx)
+simplify_replace_rtx (rtx x, rtx old_rtx, rtx new_rtx)
{
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 OLDX, return NEWX. Otherwise, if this is an expression, try
+ /* If X is OLD_RTX, return NEW_RTX. 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 == oldx)
- return newx;
+ if (x == old_rtx)
+ return new_rtx;
switch (GET_RTX_CLASS (code))
{
case RTX_UNARY:
op0 = XEXP (x, 0);
op_mode = GET_MODE (op0);
- op0 = simplify_replace_rtx (op0, oldx, newx);
+ op0 = simplify_replace_rtx (op0, old_rtx, new_rtx);
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), oldx, newx);
- op1 = simplify_replace_rtx (XEXP (x, 1), oldx, newx);
+ op0 = simplify_replace_rtx (XEXP (x, 0), old_rtx, new_rtx);
+ op1 = simplify_replace_rtx (XEXP (x, 1), old_rtx, new_rtx);
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, oldx, newx);
- op1 = simplify_replace_rtx (op1, oldx, newx);
+ op0 = simplify_replace_rtx (op0, old_rtx, new_rtx);
+ op1 = simplify_replace_rtx (op1, old_rtx, new_rtx);
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, oldx, newx);
- op1 = simplify_replace_rtx (XEXP (x, 1), oldx, newx);
- op2 = simplify_replace_rtx (XEXP (x, 2), oldx, newx);
+ op0 = simplify_replace_rtx (op0, old_rtx, new_rtx);
+ op1 = simplify_replace_rtx (XEXP (x, 1), old_rtx, new_rtx);
+ op2 = simplify_replace_rtx (XEXP (x, 2), old_rtx, new_rtx);
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), oldx, newx);
+ op0 = simplify_replace_rtx (SUBREG_REG (x), old_rtx, new_rtx);
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), oldx, newx);
+ op0 = simplify_replace_rtx (XEXP (x, 0), old_rtx, new_rtx);
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), oldx, newx);
- op1 = simplify_replace_rtx (XEXP (x, 1), oldx, newx);
+ op0 = simplify_replace_rtx (XEXP (x, 0), old_rtx, new_rtx);
+ op1 = simplify_replace_rtx (XEXP (x, 1), old_rtx, new_rtx);
/* (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 (oldx) && REGNO (x) == REGNO (oldx))
- return newx;
+ if (REG_P (old_rtx) && REGNO (x) == REGNO (old_rtx))
+ return new_rtx;
}
break;