]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Mar 2007 12:16:24 +0000 (12:16 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Mar 2007 12:16:24 +0000 (12:16 +0000)
* gfortran.dg/module_implicit_conversion.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122915 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/module.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/module_implicit_conversion.f90 [new file with mode: 0644]

index 2a49aa66846e6e542fc874c2ac8c9526ecb3b90c..832f62ca8fcc6269d0fc265f62275857fbad9427 100644 (file)
@@ -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
index 5b8bd550f9a351c6a3e5e91672817fd0175f3163..af52ca9942e0abca9c17836c319128f126899f7b 100644 (file)
@@ -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 ();
 }
index 3007d98f41e008699fcf45a9dd5af7d925c7bc43..d3713ed19ec978f790aa901f924cac92a16e01b1 100644 (file)
@@ -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 (file)
index 0000000..d7835a7
--- /dev/null
@@ -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" } }