summaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-20 07:49:26 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-05-20 07:49:26 +0000
commitfb063c92d1a87b7c295562e8b2d04ce393648b16 (patch)
treecd7a498f826c9bf0945eb06cd14fee797a843d47 /gcc/fortran/options.c
parentffbf763fc1f192fc31b0f86398bbf8263907eafa (diff)
downloadgcc-fb063c92d1a87b7c295562e8b2d04ce393648b16.tar.gz
2010-05-20 Tobias Burnus <burnus@net-b.de>
* options.c (gfc_init_options,gfc_post_options): Enable flag_associative_math by default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159620 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r--gcc/fortran/options.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 320dc722b2c..365b326702e 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -134,6 +134,7 @@ gfc_init_options (unsigned int argc, const char **argv)
gfc_option.coarray = GFC_FCOARRAY_NONE;
flag_errno_math = 0;
+ flag_associative_math = -1;
set_default_std_flags ();
@@ -247,6 +248,11 @@ gfc_post_options (const char **pfilename)
if (flag_lto || flag_whopr)
gfc_option.flag_whole_file = 1;
+ /* Fortran allows associative math - but we cannot reassociate if
+ we want traps or signed zeros. Cf. also flag_protect_parens. */
+ if (flag_associative_math == -1)
+ flag_associative_math = (!flag_trapping_math && !flag_signed_zeros);
+
/* -fbounds-check is equivalent to -fcheck=bounds */
if (flag_bounds_check)
gfc_option.rtcheck |= GFC_RTCHECK_BOUNDS;