diff mbox

[fortran] PR58007: unresolved fixup hell

Message ID 52E6CF91.8050000@sfr.fr
State New
Headers show

Commit Message

Mikael Morin Jan. 27, 2014, 9:28 p.m. UTC
Le 27/01/2014 09:49, Janus Weil a écrit :
>>> Did you bootstrap & test the 4.7 backport?
>>>
>> Yes, works like a charm here.
> 
> I also see the build problem (configuring with
> "--enable-languages=c,fortran --disable-bootstrap").
> 
I have committed the following as http://gcc.gnu.org/r207152
I made sure it worked even without bootstrap.

Mikael
diff mbox

Patch

Index: ChangeLog
===================================================================
--- ChangeLog	(révision 207151)
+++ ChangeLog	(révision 207152)
@@ -1,3 +1,9 @@ 
+2014-01-27  Mikael Morin  <mikael@gcc.gnu.org>
+
+	PR fortran/58007
+	* module.c (skip_list): Don't use default argument value.
+	(load_derived_extensions, read_module): Update callers.
+
 2014-01-26  Mikael Morin  <mikael@gcc.gnu.org>
 
 	PR fortran/58007
Index: module.c
===================================================================
--- module.c	(révision 207151)
+++ module.c	(révision 207152)
@@ -3860,12 +3860,12 @@ 
 
 
 /* Skip a list between balanced left and right parens.
-   By setting NEST_LEVEL one assumes that a number of NEST_LEVEL opening parens
-   have been already parsed by hand, and the remaining of the content is to be
-   skipped here.  The default value is 0 (balanced parens).  */
+   By setting NEST_LEVEL to a non-zero value one assumes that a number of
+   NEST_LEVEL opening parens have been already parsed by hand, and the remaining
+   of the content is to be skipped here.   */
 
 static void
-skip_list (int nest_level = 0)
+skip_list (int nest_level)
 {
   int level;
 
@@ -4228,7 +4228,7 @@ 
       if (!info || !derived)
 	{
 	  while (peek_atom () != ATOM_RPAREN)
-	    skip_list ();
+	    skip_list (0);
 	  continue;
 	}
 
@@ -4465,18 +4465,18 @@ 
   gfc_symbol *sym;
 
   get_module_locus (&operator_interfaces);	/* Skip these for now.  */
-  skip_list ();
+  skip_list (0);
 
   get_module_locus (&user_operators);
-  skip_list ();
-  skip_list ();
+  skip_list (0);
+  skip_list (0);
 
   /* Skip commons, equivalences and derived type extensions for now.  */
-  skip_list ();
-  skip_list ();
+  skip_list (0);
+  skip_list (0);
 
   get_module_locus (&extensions);
-  skip_list ();
+  skip_list (0);
 
   mio_lparen ();
 
@@ -4514,7 +4514,7 @@ 
       if (sym == NULL
 	  || (sym->attr.flavor == FL_VARIABLE && info->u.rsym.ns !=1))
 	{
-	  skip_list ();
+	  skip_list (0);
 	  continue;
 	}
 
@@ -4531,13 +4531,13 @@ 
 
 	  /* First seek to the symbol's component list.  */
 	  mio_lparen (); /* symbol opening.  */
-	  skip_list (); /* skip symbol attribute.  */
-	  skip_list (); /* typespec.  */
+	  skip_list (0); /* skip symbol attribute.  */
+	  skip_list (0); /* typespec.  */
 	  require_atom (ATOM_INTEGER); /* namespace ref.  */
 	  require_atom (ATOM_INTEGER); /* common ref.  */
-	  skip_list (); /* formal args.  */
+	  skip_list (0); /* formal args.  */
 	  /* no value.  */
-	  skip_list (); /* array_spec.  */
+	  skip_list (0); /* array_spec.  */
 	  require_atom (ATOM_INTEGER); /* result.  */
 	  /* not a cray pointer.  */
 
@@ -4562,7 +4562,7 @@ 
 	  skip_list (1); /* symbol end.  */
 	}
       else
-	skip_list ();
+	skip_list (0);
 
       /* Some symbols do not have a namespace (eg. formal arguments),
 	 so the automatic "unique symtree" mechanism must be suppressed
@@ -4725,7 +4725,7 @@ 
 
 	  if (u == NULL)
 	    {
-	      skip_list ();
+	      skip_list (0);
 	      continue;
 	    }