diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2009-06-19 15:33:55 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2009-06-19 15:33:55 +0000 |
commit | eb6f9a86c5a7406cabd069093d34d435cf92bd13 (patch) | |
tree | 83e5c787fecb044f7803f22a3aa5b3d699b063b9 /gcc/fortran/expr.c | |
parent | 642324bb16ffe88f0aa81c4ced9bdc1ba63471ab (diff) | |
download | gcc-eb6f9a86c5a7406cabd069093d34d435cf92bd13.zip gcc-eb6f9a86c5a7406cabd069093d34d435cf92bd13.tar.gz gcc-eb6f9a86c5a7406cabd069093d34d435cf92bd13.tar.bz2 |
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
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 9 |
1 files changed, 9 insertions, 0 deletions
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: |