diff options
author | Tobias Schlüter <tobi@gcc.gnu.org> | 2007-10-28 19:53:27 +0100 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2007-10-28 19:53:27 +0100 |
commit | 5cb41805708de9784dd9ce6dfc88c0cd4f87af93 (patch) | |
tree | 6b0dbd378d040ff0c2dc656b2f563ea140b6339b /gcc/fortran/symbol.c | |
parent | 6f17d116b739645d9c331ffb4b741eebbfb69a5c (diff) | |
download | gcc-5cb41805708de9784dd9ce6dfc88c0cd4f87af93.zip gcc-5cb41805708de9784dd9ce6dfc88c0cd4f87af93.tar.gz gcc-5cb41805708de9784dd9ce6dfc88c0cd4f87af93.tar.bz2 |
re PR fortran/32147 (Module file change due to order of writting out changes)
fortran/
PR fortran/32147
* module.c (write_symbol): Fix whitespace.
(write_symbol0): Walk symtree from left-to-right instead
breadth-first.
(write_symbol1): Similarly change walk of pointer info tree.
(write_module): Insert linebreak.
* symbol.c (gfc_traverse_symtree): Change to left-to-right order.
(traverse_ns): Likewise.
testsuite/
PR fortran/32147
* gfortran.dg/module_md5_1.f90: Update hash-value.
From-SVN: r129701
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r-- | gcc/fortran/symbol.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index b0c2825..8ef2b1d 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -2927,13 +2927,12 @@ clear_sym_mark (gfc_symtree *st) void gfc_traverse_symtree (gfc_symtree *st, void (*func) (gfc_symtree *)) { - if (st != NULL) - { - (*func) (st); + if (!st) + return; - gfc_traverse_symtree (st->left, func); - gfc_traverse_symtree (st->right, func); - } + gfc_traverse_symtree (st->left, func); + (*func) (st); + gfc_traverse_symtree (st->right, func); } @@ -2946,11 +2945,12 @@ traverse_ns (gfc_symtree *st, void (*func) (gfc_symbol *)) if (st == NULL) return; + traverse_ns (st->left, func); + if (st->n.sym->mark == 0) (*func) (st->n.sym); st->n.sym->mark = 1; - traverse_ns (st->left, func); traverse_ns (st->right, func); } |