From eb6f9a86c5a7406cabd069093d34d435cf92bd13 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Fri, 19 Jun 2009 15:33:55 +0000 Subject: gfortran.h (gfc_expr): Use mpc_t to represent complex numbers. * gfortran.h (gfc_expr): Use mpc_t to represent complex numbers. * arith.c, dump-parse-tree.c, expr.c, module.c, resolve.c, simplify.c, target-memory.c, target-memory.h, trans-const.c, trans-expr.c: Convert to mpc_t throughout. From-SVN: r148711 --- gcc/fortran/expr.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gcc/fortran/expr.c') diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 13c6b63..d2f73d6 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -156,8 +156,12 @@ free_expr0 (gfc_expr *e) break; case BT_COMPLEX: +#ifdef HAVE_mpc + mpc_clear (e->value.complex); +#else mpfr_clear (e->value.complex.r); mpfr_clear (e->value.complex.i); +#endif break; default: @@ -439,10 +443,15 @@ gfc_copy_expr (gfc_expr *p) case BT_COMPLEX: gfc_set_model_kind (q->ts.kind); +#ifdef HAVE_mpc + mpc_init2 (q->value.complex, mpfr_get_default_prec()); + mpc_set (q->value.complex, p->value.complex, GFC_MPC_RND_MODE); +#else mpfr_init (q->value.complex.r); mpfr_init (q->value.complex.i); mpfr_set (q->value.complex.r, p->value.complex.r, GFC_RND_MODE); mpfr_set (q->value.complex.i, p->value.complex.i, GFC_RND_MODE); +#endif break; case BT_CHARACTER: -- cgit v1.1