re PR fortran/80440 (Slow compile when USEing modules)
2017-04-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/80440 * module.c (find_symtree_for_symbol): Delete. (read_module): Remove the call to the above. From-SVN: r246952
This commit is contained in:
parent
fb5e562100
commit
4e64ba0091
2 changed files with 9 additions and 38 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-04-17 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/80440
|
||||
* module.c (find_symtree_for_symbol): Delete.
|
||||
(read_module): Remove the call to the above.
|
||||
|
||||
2017-04-14 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/80361
|
||||
|
@ -5,9 +11,9 @@
|
|||
the recursive attribute.
|
||||
|
||||
2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
|
||||
Paul Thomas <pault@gcc.gnu.org>
|
||||
Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/69498
|
||||
PR fortran/69498
|
||||
* module.c (gfc_match_submodule): Add error
|
||||
if function is called in the wrong state.
|
||||
|
||||
|
@ -17,7 +23,7 @@
|
|||
* expr.c (gfc_check_pointer_assign): Check if procedure pointer
|
||||
components in a pointer assignment need an explicit interface.
|
||||
|
||||
2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
|
||||
2017-03-18 Nicolas Koenig <koenigni@student.ethz.ch>
|
||||
|
||||
PR fortran/69498
|
||||
* symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
|
||||
|
|
|
@ -4292,31 +4292,6 @@ mio_symbol (gfc_symbol *sym)
|
|||
|
||||
/************************* Top level subroutines *************************/
|
||||
|
||||
/* Given a root symtree node and a symbol, try to find a symtree that
|
||||
references the symbol that is not a unique name. */
|
||||
|
||||
static gfc_symtree *
|
||||
find_symtree_for_symbol (gfc_symtree *st, gfc_symbol *sym)
|
||||
{
|
||||
gfc_symtree *s = NULL;
|
||||
|
||||
if (st == NULL)
|
||||
return s;
|
||||
|
||||
s = find_symtree_for_symbol (st->right, sym);
|
||||
if (s != NULL)
|
||||
return s;
|
||||
s = find_symtree_for_symbol (st->left, sym);
|
||||
if (s != NULL)
|
||||
return s;
|
||||
|
||||
if (st->n.sym == sym && !check_unique_name (st->name))
|
||||
return st;
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
/* A recursive function to look for a specific symbol by name and by
|
||||
module. Whilst several symtrees might point to one symbol, its
|
||||
is sufficient for the purposes here than one exist. Note that
|
||||
|
@ -5119,16 +5094,6 @@ read_module (void)
|
|||
info->u.rsym.referenced = 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* If possible recycle the symtree that references the symbol.
|
||||
If a symtree is not found and the module does not import one,
|
||||
a unique-name symtree is found by read_cleanup. */
|
||||
st = find_symtree_for_symbol (gfc_current_ns->sym_root, sym);
|
||||
if (st != NULL)
|
||||
{
|
||||
info->u.rsym.symtree = st;
|
||||
info->u.rsym.referenced = 1;
|
||||
}
|
||||
}
|
||||
|
||||
mio_rparen ();
|
||||
|
|
Loading…
Add table
Reference in a new issue