http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57749
--- Comment #13 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
We all whould have read the manual first:
>From 'man cpow'
...
DESCRIPTION
cpow(x, y) returns the complex number x raised to the complex power y.
cpow(x,y) is equivalent to cexp(y * clog(x)). As such, cpow(x, y) has
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
a branch cut along the negative real axis for the first argument, and
the equality cpow(conj(x),conj(y)) = conj(cpow(x,y)) holds for all x
and y.
SPECIAL VALUES
For special values, see clog and cexp.
...
>From 'man clog'
...
SPECIAL VALUES
The conjugate symmetry of clog() is used to abbreviate the specification
of special values.
clog(-0 + 0i) returns -inf + Pi i and raises the divide-by-zero flag.
clog(0 + 0i) returns -inf + 0i and raises the divide-by-zero flag.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
>From 'man cexp'
...
SPECIAL VALUES
...
For the following two cases, cis(y) denotes cos(y) + I*sin(y).
cexp(-inf + yi) returns 0*cis(y), for finite y.
...
So this PR is not a bug, but a documented feature, and should be closed as
INVALID.