From 128e09f93d6fa5fc367ad2be059c6dd674ef1049 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Mon, 4 Apr 2011 20:22:21 +0000 Subject: re PR fortran/48412 (CP2K miscompiled due to some Fortran frontend pass) 2011-04-04 Thomas Koenig PR fortran/48412 * frontend-passes (cfe_expr_0): Reverse the order of going through the loops. 2011-04-04 Thomas Koenig PR fortran/48412 * function_optimize_4.f90: New test. From-SVN: r171952 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/frontend-passes.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f9513db..bea09ff 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2011-04-04 Thomas Koenig + + PR fortran/48412 + * frontend-passes (cfe_expr_0): Reverse the order of going + through the loops. + 2011-04-04 Tobias Burnus Mikael Morin diff --git a/gcc/fortran/frontend-passes.c b/gcc/fortran/frontend-passes.c index 755bae0..c2f6bd5 100644 --- a/gcc/fortran/frontend-passes.c +++ b/gcc/fortran/frontend-passes.c @@ -295,16 +295,16 @@ cfe_expr_0 (gfc_expr **e, int *walk_subtrees, gfc_expr_walker (e, cfe_register_funcs, NULL); - /* Walk backwards through all the functions to make sure we - catch the leaf functions first. */ - for (i=expr_count-1; i>=1; i--) + /* Walk through all the functions. */ + + for (i=1; iexpr_type == EXPR_VARIABLE) continue; newvar = NULL; - for (j=i-1; j>=0; j--) + for (j=0; j