From: David S. Miller Date: Fri, 27 Sep 2002 04:09:07 +0000 (-0700) Subject: re PR rtl-optimization/7335 (Sparc: ICE in verify_wide_reg (flow.c:557) with long... X-Git-Tag: releases/gcc-3.2.1~239 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=915ecdf20ed1258a65f48919f60696aff229fb80;p=thirdparty%2Fgcc.git re PR rtl-optimization/7335 (Sparc: ICE in verify_wide_reg (flow.c:557) with long double and optimization) 2002-09-26 David S. Miller PR optimization/7335 * calls.c (emit_library_call_value_1): Passing args by reference converts a CONST function into a PURE one. From-SVN: r57574 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7dd1e5acddc7..9c6c6ff51767 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-09-26 David S. Miller + + * calls.c (emit_library_call_value_1): Passing args by reference + converts a CONST function into a PURE one. + 2002-09-26 Richard Henderson PR c/7160 diff --git a/gcc/calls.c b/gcc/calls.c index c0a73e7740e9..449c933d212a 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -3666,6 +3666,14 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p) #endif ; + /* If this was a CONST function, it is now PURE since + it now reads memory. */ + if (flags & ECF_CONST) + { + flags &= ~ECF_CONST; + flags |= ECF_PURE; + } + if (GET_MODE (val) == MEM && ! must_copy) slot = val; else if (must_copy)