aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-03-14 13:16:24 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2007-03-14 13:16:24 +0100
commit3ea04f082b08f8f9f31c016d4a5927a3db4e9c4e (patch)
treef74ebbe9f70a75333bb4237e4a847107b45716c4 /gcc
parentd70d13acb5b4fa124c90a96cacaa993fa0c64283 (diff)
downloadgcc-3ea04f082b08f8f9f31c016d4a5927a3db4e9c4e.zip
gcc-3ea04f082b08f8f9f31c016d4a5927a3db4e9c4e.tar.gz
gcc-3ea04f082b08f8f9f31c016d4a5927a3db4e9c4e.tar.bz2
module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
* module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER. * gfortran.dg/module_implicit_conversion.f90: New test. From-SVN: r122915
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog4
-rw-r--r--gcc/fortran/module.c9
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/module_implicit_conversion.f909
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2a49aa6..832f62c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
+
2007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
PR fortran/30933
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 5b8bd55..af52ca9 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -1814,7 +1814,14 @@ mio_typespec (gfc_typespec *ts)
else
mio_symbol_ref (&ts->derived);
- mio_charlen (&ts->cl);
+ if (ts->type != BT_CHARACTER)
+ {
+ /* ts->cl is only valid for BT_CHARACTER. */
+ mio_lparen ();
+ mio_rparen ();
+ }
+ else
+ mio_charlen (&ts->cl);
mio_rparen ();
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3007d98..d3713ed 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortran.dg/module_implicit_conversion.f90: New test.
+
2007-03-13 Alexandre Oliva <aoliva@redhat.com>
PR middle-end/31127
diff --git a/gcc/testsuite/gfortran.dg/module_implicit_conversion.f90 b/gcc/testsuite/gfortran.dg/module_implicit_conversion.f90
new file mode 100644
index 0000000..d7835a7
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/module_implicit_conversion.f90
@@ -0,0 +1,9 @@
+! { dg-do compile }
+! { dg-options "-std=gnu" }
+
+module module_implicit_conversion
+ ! double complex :: s = (1.0D0, 0D0)
+ double complex :: s = (1.0, 0D0)
+end module module_implicit_conversion
+
+! { dg-final { cleanup-modules "module_implicit_conversion" } }