diff options
author | Thomas Koenig <Thomas.Koenig@online.de> | 2005-05-18 20:24:32 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2005-05-18 20:24:32 +0000 |
commit | 8f4dc7afb1a6f80c8e16d442ed025c003cf25f3d (patch) | |
tree | a66bc7623de0b253a4f3ae529a58a4948e04f604 /gcc/fortran/iresolve.c | |
parent | 565d8a378f62e7c46273908cbd370873a218808b (diff) | |
download | gcc-8f4dc7afb1a6f80c8e16d442ed025c003cf25f3d.zip gcc-8f4dc7afb1a6f80c8e16d442ed025c003cf25f3d.tar.gz gcc-8f4dc7afb1a6f80c8e16d442ed025c003cf25f3d.tar.bz2 |
re PR libfortran/21127 (reshape of complex broken)
2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21127
* Makefile.am: Add generated/reshape_c4.c and
generated/reshape_c8.c.
* Makefile.in: Regenerated.
* m4/iparm.m4: Define rtype_ccode to be c4 or c8 for
complex types, 4 or 8 otherwise.
* m4/reshape.m4: Use rtype_ccode instead of rtype_kind
in function name.
* generated/reshape_c4.c: New file.
* generated/reshape_c8.c: New file.
2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21127
* fortran/iresolve.c (gfc_resolve_reshape): Add
gfc_type_letter (BT_COMPLEX) for complex to
to resolved function name.
2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21127
* gfortran.dg/reshape-complex.f90: New test.
From-SVN: r99925
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r-- | gcc/fortran/iresolve.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c index 746b97d..e939287 100644 --- a/gcc/fortran/iresolve.c +++ b/gcc/fortran/iresolve.c @@ -1137,8 +1137,14 @@ gfc_resolve_reshape (gfc_expr * f, gfc_expr * source, gfc_expr * shape, case 4: case 8: /* case 16: */ - f->value.function.name = - gfc_get_string (PREFIX("reshape_%d"), source->ts.kind); + if (source->ts.type == BT_COMPLEX) + f->value.function.name = + gfc_get_string (PREFIX("reshape_%c%d"), + gfc_type_letter (BT_COMPLEX), source->ts.kind); + else + f->value.function.name = + gfc_get_string (PREFIX("reshape_%d"), source->ts.kind); + break; default: |