From: Mikael Morin Date: Mon, 27 Jan 2014 21:23:16 +0000 (+0000) Subject: re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups... X-Git-Tag: releases/gcc-4.7.4~284 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d90eeb4e1cc3232aed0076dc17c32eee066d51a7;p=thirdparty%2Fgcc.git re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix) fortran/ PR fortran/58007 * module.c (skip_list): Don't use default argument value. (load_derived_extensions, read_module): Update callers. From-SVN: r207152 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3e39f881be65..e3988a0ae451 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2014-01-27 Mikael Morin + + 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 PR fortran/58007 diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index 5e4739f14ca3..d959ddb6fed1 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -3860,12 +3860,12 @@ find_symbol (gfc_symtree *st, const char *name, /* 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 @@ load_derived_extensions (void) if (!info || !derived) { while (peek_atom () != ATOM_RPAREN) - skip_list (); + skip_list (0); continue; } @@ -4465,18 +4465,18 @@ read_module (void) 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 @@ read_module (void) if (sym == NULL || (sym->attr.flavor == FL_VARIABLE && info->u.rsym.ns !=1)) { - skip_list (); + skip_list (0); continue; } @@ -4531,13 +4531,13 @@ read_module (void) /* 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 @@ read_module (void) 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 @@ read_module (void) if (u == NULL) { - skip_list (); + skip_list (0); continue; }