From bbb9d91f19f1349a49dd24667ce5b0a8912769b1 Mon Sep 17 00:00:00 2001
From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>
Date: Tue, 19 May 2009 14:56:05 +0000
Subject: [PATCH] builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.

	* builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.

From-SVN: r147707
---
 gcc/ChangeLog  | 4 ++++
 gcc/builtins.c | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07d2c8e9d9f8..b59be3048ad7 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 b704394f31e4..783fce4ec68f 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);
 	}
-- 
GitLab