diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 07d2c8e9d9f8f1a8d4a6695116d56dac95ce3de7..b59be3048ad74c34136f15c15ea85c26a6ffde7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2009-05-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types. + 2009-05-19 Ben Elliston <bje@au.ibm.com> * unwind-dw2-fde.c (fde_unencoded_compare): Replace type punning diff --git a/gcc/builtins.c b/gcc/builtins.c index b704394f31e4ef3d618579ec44634d7cbde357f8..783fce4ec68fc6de803b1b1e43c27546b7d4be7f 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -13671,6 +13671,7 @@ do_mpc_arg1 (tree arg, tree type, int (*func)(mpc_ptr, mpc_srcptr, mpc_rnd_t)) REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (type))); const int prec = fmt->p; const mp_rnd_t rnd = fmt->round_towards_zero ? GMP_RNDZ : GMP_RNDN; + const mpc_rnd_t crnd = fmt->round_towards_zero ? MPC_RNDZZ : MPC_RNDNN; int inexact; mpc_t m; @@ -13678,7 +13679,7 @@ do_mpc_arg1 (tree arg, tree type, int (*func)(mpc_ptr, mpc_srcptr, mpc_rnd_t)) mpfr_from_real (MPC_RE(m), re, rnd); mpfr_from_real (MPC_IM(m), im, rnd); mpfr_clear_flags (); - inexact = func (m, m, rnd); + inexact = func (m, m, crnd); result = do_mpc_ckconv (m, type, inexact); mpc_clear (m); }