@@ -2558,27 +2558,24 @@ unop_extract_operation::evaluate (struct type *expect_type,
25582558
25592559}
25602560
2561-
25622561/* Helper for evaluate_subexp_for_address. */
25632562
25642563static value *
2565- evaluate_subexp_for_address_base (struct expression * exp , enum noside noside ,
2566- value * x )
2564+ evaluate_subexp_for_address_base (enum noside noside , value * x )
25672565{
25682566 if (noside == EVAL_AVOID_SIDE_EFFECTS )
25692567 {
25702568 struct type * type = check_typedef (x -> type ());
25712569
25722570 if (TYPE_IS_REFERENCE (type ))
25732571 return value ::zero (lookup_pointer_type (type -> target_type ()),
2574- not_lval );
2572+ not_lval );
25752573 else if (x -> lval () == lval_memory || value_must_coerce_to_target (x ))
2576- return value ::zero (lookup_pointer_type (x -> type ()),
2577- not_lval );
2574+ return value ::zero (lookup_pointer_type (x -> type ()), not_lval );
25782575 else
2579- error (_ ("Attempt to take address of "
2580- "value not located in memory." ));
2576+ error (_ ("Attempt to take address of value not located in memory." ));
25812577 }
2578+
25822579 return value_addr (x );
25832580}
25842581
@@ -2598,7 +2595,7 @@ value *
25982595operation ::evaluate_for_address (struct expression * exp , enum noside noside )
25992596{
26002597 value * val = evaluate (nullptr , exp , noside );
2601- return evaluate_subexp_for_address_base (exp , noside , val );
2598+ return evaluate_subexp_for_address_base (noside , val );
26022599}
26032600
26042601value *
@@ -2625,7 +2622,7 @@ unop_ind_base_operation::evaluate_for_address (struct expression *exp,
26252622 if (unop_user_defined_p (UNOP_IND , x ))
26262623 {
26272624 x = value_x_unop (x , UNOP_IND , noside );
2628- return evaluate_subexp_for_address_base (exp , noside , x );
2625+ return evaluate_subexp_for_address_base (noside , x );
26292626 }
26302627
26312628 return coerce_array (x );
0 commit comments