diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/function.c b/gcc/function.c index 94ed786..cdd2721 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1826,8 +1826,7 @@ instantiate_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) if (TREE_CODE (t) == PARM_DECL && DECL_NAMELESS (t) && DECL_INCOMING_RTL (t)) instantiate_decl_rtl (DECL_INCOMING_RTL (t)); - if ((TREE_CODE (t) == VAR_DECL - || TREE_CODE (t) == RESULT_DECL) + if ((VAR_P (t) || TREE_CODE (t) == RESULT_DECL) && DECL_HAS_VALUE_EXPR_P (t)) { tree v = DECL_VALUE_EXPR (t); @@ -1850,7 +1849,7 @@ instantiate_decls_1 (tree let) { if (DECL_RTL_SET_P (t)) instantiate_decl_rtl (DECL_RTL (t)); - if (TREE_CODE (t) == VAR_DECL && DECL_HAS_VALUE_EXPR_P (t)) + if (VAR_P (t) && DECL_HAS_VALUE_EXPR_P (t)) { tree v = DECL_VALUE_EXPR (t); walk_tree (&v, instantiate_expr, NULL, NULL); @@ -4374,7 +4373,7 @@ setjmp_vars_warning (bitmap setjmp_crosses, tree block) for (decl = BLOCK_VARS (block); decl; decl = DECL_CHAIN (decl)) { - if (TREE_CODE (decl) == VAR_DECL + if (VAR_P (decl) && DECL_RTL_SET_P (decl) && REG_P (DECL_RTL (decl)) && regno_clobbered_at_setjmp (setjmp_crosses, REGNO (DECL_RTL (decl)))) @@ -6581,7 +6580,7 @@ match_asm_constraints_1 (rtx_insn *insn, rtx *p_sets, int noutputs) void add_local_decl (struct function *fun, tree d) { - gcc_assert (TREE_CODE (d) == VAR_DECL); + gcc_assert (VAR_P (d)); vec_safe_push (fun->local_decls, d); } |