Creating imaginary inf/nan in GCC

Kaveh R. Ghazi ghazi@caip.rutgers.edu
Sat Jan 31 10:14:00 GMT 2009


From: "Tobias Burnus" <burnus@net-b.de>

> Hi Kaveh,
>
> Kaveh R. GHAZI wrote:
>> I'm trying to create complex number expressions that contain inf or
>> nan in the imaginary part.  I.e. (0 + inf I) or (0 + nan I).
>
> If it does not need to be C (e.g. to try MPC in the middle end), you
> could use Fortran:
>
> ! compile with gfortran -fno-range-check
> complex :: z
> z = cmplx(0.0, 0.0/0.0)
> print *, z
> end
>
> Tobias

Thanks, I do want to test the middle-end.  However I need to do more than 
just create the complex expression.  I also have to pass it to a builtin 
that evaluates using MPC like __builtin_csin().  The fortran frontend 
evaluates complex transcendentals in fortran/simplify.c, not in the 
middle-end.  So it wouldn't test what I want AFAICT.  It's not a big deal, 
the nan cases are error paths that should *avoid* folding via MPC.

        Regards,
        --Kaveh



More information about the Gcc mailing list