From c083cf9a099343f58cdd2b33203052c74ed2f8fa Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 28 Apr 2000 20:52:31 +0000 Subject: tree.c (get_callee_fndecl): Extract the initial value from a readonly decl. * tree.c (get_callee_fndecl): Extract the initial value from a readonly decl. * cp/optimize.c (initialize_inlined_parameters): Call c_apply_type_quals_to_decl. Set DECL_INITIAL. From-SVN: r33518 --- gcc/cp/optimize.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/cp/optimize.c') diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index 9863d4a..39f8247 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -419,6 +419,8 @@ initialize_inlined_parameters (id, args, fn) /* Make an equivalent VAR_DECL. */ var = copy_decl_for_inlining (p, fn, VARRAY_TREE (id->fns, 0)); + c_apply_type_quals_to_decl (TYPE_QUALS (p), var); + /* Register the VAR_DECL as the equivalent for the PARM_DECL; that way, when the PARM_DECL is encountered, it will be automatically replaced by the VAR_DECL. */ @@ -430,6 +432,8 @@ initialize_inlined_parameters (id, args, fn) this will not result in an extra copy: the TARGET_EXPR representing the argument will be bound to VAR, and the object will be constructed in VAR. */ + if (! TYPE_NEEDS_CONSTRUCTING (TREE_TYPE (p))) + DECL_INITIAL (var) = TREE_VALUE (a); init_stmt = build_min_nt (EXPR_STMT, build (INIT_EXPR, TREE_TYPE (p), var, value)); -- cgit v1.1