]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arith.c (arith_power): Use mpc_pow_z.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Wed, 7 Oct 2009 23:40:25 +0000 (23:40 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Wed, 7 Oct 2009 23:40:25 +0000 (23:40 +0000)
* arith.c (arith_power): Use mpc_pow_z.
* gfortran.h (HAVE_mpc_pow_z): Define.

From-SVN: r152544

gcc/fortran/ChangeLog
gcc/fortran/arith.c
gcc/fortran/gfortran.h

index 5035c1b7d57535464397cce3d372db06a3e1e345..9fac2a773226646c6cb5a68e3a2c49d9e27d2e42 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * arith.c (arith_power): Use mpc_pow_z.
+       * gfortran.h (HAVE_mpc_pow_z): Define.
+
 2009-10-07  Daniel Kraft  <d@domob.eu>
 
        PR fortran/41615
index dddf7e003ced5c3cd547b6e67122dd57d7f4acf8..82a43ad71785efbecb6fc051826d3ff072592f9f 100644 (file)
@@ -1111,7 +1111,10 @@ arith_power (gfc_expr *op1, gfc_expr *op2, gfc_expr **resultp)
 
            case BT_COMPLEX:
              {
-#ifdef HAVE_mpc_pow
+#ifdef HAVE_mpc_pow_z
+               mpc_pow_z (result->value.complex, op1->value.complex,
+                          op2->value.integer, GFC_MPC_RND_MODE);
+#elif defined(HAVE_mpc_pow)
                mpc_t apower;
                gfc_set_model (mpc_realref (op1->value.complex));
                mpc_init2 (apower, mpfr_get_default_prec());
index 72f0126463011cbd100d02ffb657f547e290cb6c..d6ad992dda7f56ddf3c5df9ae4a50eb741be50a2 100644 (file)
@@ -1629,6 +1629,7 @@ gfc_class_esym_list;
 # endif
 # if MPC_VERSION >= MPC_VERSION_NUM(0,7,1)
 #  define HAVE_mpc_arc
+#  define HAVE_mpc_pow_z
 # endif
 #else
 #define mpc_realref(X) ((X).r)