[Bug middle-end/30447] Evaluate complex math functions at compile-time

ghazi at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 14 06:15:00 GMT 2009



------- Comment #11 from ghazi at gcc dot gnu dot org  2009-10-14 06:15 -------
(In reply to comment #10)
> > except for cproj because that has a wierd non-c99 implementation in glibc.
>
> I don't see why one particular library having a bug in its implementation 
> of cproj should prevent GCC from optimizing that function correctly for 
> constant arguments.

Had it been any other system, I would agree.  But that "one particular library"
is the C lib for the GNU system and I was reluctant to make the GNU compiler
incompatible with the GNU C library.

There is a bug report filed for cproj from July, but nothing appears to have
been done about it.
http://sourceware.org/bugzilla/show_bug.cgi?id=10401

If there is consensus that we don't care what glibc does, I can implement the
cproj opt.  However you may recall I have most of these MPFR/MPC
transformations back out if Inf is passed in.  The main rationale for cproj is
to handle Inf specially.  So it would require hacking the infrastructure to
allow Inf to pass through.  I did this for two-argument calls like mpc_div, but
not one-argument calls like mpc_proj.  Since it's stage3 I'd defer that till
later.

Another (perhaps interim) option would be to do the opt only for finite
numbers.  That would be a one-liner and perhaps suitable for stage3.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30447



More information about the Gcc-bugs mailing list