------- Comment #1 from burnus at gcc dot gnu dot org  2009-01-13 16:33 -------
The problem is the following in arith.c:
  if (op == INTRINSIC_POWER && op2->ts.type != BT_INTEGER)
    goto runtime;

Thus it is only run-time evaluated. gfc_arith_power deals so far only with
(numeric_type)**(integer). We need to handle (complex)**(complex)
and (real)**(real).

I think Fortran 2003 allows ** in initialization expressions (at least I could
not find anything else) and thus one needs this. See also PR 38823.


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE in in                   |Compile-time simplification
                   |gfc_target_encode_expr      |of x**(real)  /  ICE in in
                   |                            |gfc_target_encode_expr


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

Reply via email to