diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8c74bc29ee7..1c0f95ec521 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,11 @@ +2004-08-22 Andrew Pinski + + Revert: + 2004-08-22 Andrew Pinski + PR c++/14029 + * typeck.c (build_unary_op): Use &a.b if the foldded lowered + expression is not constant. + 2004-08-23 Nathan Sidwell * name-lookup.c (pushdecl): Rename build_type_copy call. diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index a614db58978..01b969edb97 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -4123,11 +4123,6 @@ build_unary_op (enum tree_code code, tree xarg, int noconvert) addr = fold (build2 (PLUS_EXPR, argtype, rval, cp_convert (argtype, byte_position (field)))); - - /* If the folded PLUS_EXPR is not a constant address, wrap - it in an ADDR_EXPR. */ - if (!TREE_CONSTANT (addr)) - addr = build_address (arg); } if (TREE_CODE (argtype) == POINTER_TYPE