diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 68c4b7a0728c..6f654cafa4c8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2010-07-24 Tobias Burnus + + PR fortran/40011 + * parse.c (gfc_parse_file): Do not override + gfc_global_ns_list items. + 2010-07-24 Tobias Burnus * options.c (gfc_init_options): Enable -fwhole-file by default. diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index a1af02646589..616fb50ec673 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -4414,7 +4414,11 @@ prog_units: later and all their interfaces resolved. */ gfc_current_ns->code = s.head; if (next) - next->sibling = gfc_current_ns; + { + for (; next->sibling; next = next->sibling) + ; + next->sibling = gfc_current_ns; + } else gfc_global_ns_list = gfc_current_ns; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a43aee9a3a59..115f6333d148 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2010-07-24 Tobias Burnus + + PR fortran/40011 + * gfortran.dg/whole_file_21.f90: New. + + * gfortran.dg/integer_exponentiation_3.F90: Use + -ffloat-store only for i?86/x86-64 -m32. + 2010-07-24 Tobias Burnus * gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=". diff --git a/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 b/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 index 9277b7a7ccda..5c6c5bfe5e6b 100644 --- a/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 +++ b/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 @@ -1,8 +1,8 @@ ! { dg-do run { xfail spu-*-* } } ! FAILs on SPU because of wrong compile-time rounding mode -! { dg-options "-ffloat-store" } +! { dg-options "" } +! { dg-options "-ffloat-store" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ! -! -ffloat-store needed for x87 ! module mod_check implicit none