https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69086

--- Comment #2 from BENAÏSSA <ka_bena at yahoo dot fr> ---
thank you for your clear answer.comment: And I imagine that it is not possible
to define in C the complex value (inf,inf).                                    
                                                       A.Benaïssa


    Le Mercredi 30 décembre 2015 21h14, pinskia at gcc dot gnu.org
<gcc-bugzi...@gcc.gnu.org> a écrit :


 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69086

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

          What    |Removed                    |Added
----------------------------------------------------------------------------
            Status|UNCONFIRMED                |RESOLVED
        Resolution|---                        |INVALID

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
A1_1 = 1.0e+0 / 0.0;
  A2_2 = 1.0e+0 / 0.0;
  A2.0_3 = A2_2;
  _4 = A2.0_3 * 0.0;
  _5 = _4 + A1_1;
  A3_6 = COMPLEX_EXPR <_5, A2.0_3>;
  _7 = (double) A1_1;
  printf ("%f\n", _7);
  _10 = REALPART_EXPR <A3_6>;
  _11 = (double) _10;
  printf ("%f\n", _11);
  _13 = (double) A2_2;
  printf ("%f\n", _13);
  _15 = IMAGPART_EXPR <A3_6>;
  _16 = (double) _15;
  printf ("%f\n", _16);
  _18 = 0;


The reason is more complex than what you think.  Sorry for the pun.  But since
there is no imagine type  A2*1.Fi is really A2*(0 + 1Fi)

So for the real part you get:
A1 + A2 * 0

A2 * 0 is nan as inf * 0 is a nan.

Reply via email to