From 8569c753080d9f5f00277759207a2671b8f0eff5 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sat, 24 Jul 2010 18:32:11 +0200 Subject: [PATCH] re PR fortran/40011 (Problems with -fwhole-file) 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 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. From-SVN: r162500 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/parse.c | 6 +++++- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 | 4 ++-- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 68c4b7a..6f654ca 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 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. * interface.c (compare_parameter): Assume a Hollerith constant is compatible with all other argument types. diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index a1af026..616fb50 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 a43aee9..115f633 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,13 @@ 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 "/=". * gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store. diff --git a/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 b/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 index 9277b7a..5c6c5bf 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 -- 2.7.4