diff options
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r-- | gcc/gimplify.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 19411c9..2c1ec85 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -1574,9 +1574,8 @@ gimplify_vla_decl (tree decl, gimple_seq *seq_p) SET_DECL_VALUE_EXPR (decl, t); DECL_HAS_VALUE_EXPR_P (decl) = 1; - t = builtin_decl_explicit (BUILT_IN_ALLOCA_WITH_ALIGN); - t = build_call_expr (t, 2, DECL_SIZE_UNIT (decl), - size_int (DECL_ALIGN (decl))); + t = build_alloca_call_expr (DECL_SIZE_UNIT (decl), DECL_ALIGN (decl), + max_int_size_in_bytes (TREE_TYPE (decl))); /* The call has been built for a variable-sized object. */ CALL_ALLOCA_FOR_VAR_P (t) = 1; t = fold_convert (ptr_type, t); @@ -3174,8 +3173,7 @@ gimplify_call_expr (tree *expr_p, gimple_seq *pre_p, bool want_value) && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL) switch (DECL_FUNCTION_CODE (fndecl)) { - case BUILT_IN_ALLOCA: - case BUILT_IN_ALLOCA_WITH_ALIGN: + CASE_BUILT_IN_ALLOCA: /* If the call has been built for a variable-sized object, then we want to restore the stack level when the enclosing BIND_EXPR is exited to reclaim the allocated space; otherwise, we precisely |