Commit 1a549788 by Tobias Schlüter

symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally descend into all branches.

* symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
descend into all branches.

From-SVN: r123355
parent 58c11467
2007-03-30 Tobias Schlüter <tobi@gcc.gnu.org>
* symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
descend into all branches.
2007-03-29 Tobias Schlüter <tobi@gcc.gnu.org> 2007-03-29 Tobias Schlüter <tobi@gcc.gnu.org>
* intrinsic.c (conv_name): Let gfc_get_string handle the format. * intrinsic.c (conv_name): Let gfc_get_string handle the format.
......
...@@ -2770,20 +2770,19 @@ gfc_symbol_state(void) { ...@@ -2770,20 +2770,19 @@ gfc_symbol_state(void) {
gfc_gsymbol * gfc_gsymbol *
gfc_find_gsymbol (gfc_gsymbol *symbol, const char *name) gfc_find_gsymbol (gfc_gsymbol *symbol, const char *name)
{ {
gfc_gsymbol *s; int c;
if (symbol == NULL) if (symbol == NULL)
return NULL; return NULL;
if (strcmp (symbol->name, name) == 0)
return symbol;
s = gfc_find_gsymbol (symbol->left, name); while (symbol)
if (s != NULL) {
return s; c = strcmp (name, symbol->name);
if (!c)
return symbol;
s = gfc_find_gsymbol (symbol->right, name); symbol = (c < 0) ? symbol->left : symbol->right;
if (s != NULL) }
return s;
return NULL; return NULL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment