diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2012-08-19 15:05:41 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2012-08-19 15:05:41 +0000 |
commit | cf21551eac46a2494613eb3ef8d62699c6d9ab74 (patch) | |
tree | 84b40c19d9c7f98d00864d2e148356bbea76b7b7 /gcc/fortran/options.c | |
parent | 5da8c011067c5514c5e891fd8b4d854eb4fc2e71 (diff) | |
download | gcc-cf21551eac46a2494613eb3ef8d62699c6d9ab74.zip gcc-cf21551eac46a2494613eb3ef8d62699c6d9ab74.tar.gz gcc-cf21551eac46a2494613eb3ef8d62699c6d9ab74.tar.bz2 |
re PR fortran/54298 (Add warning when doing equal/nonequal floating-point comparisons)
2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54298
* gfortran.h (struct gfc_option_t): Add warn_compare_reals.
* lang.opt: Add Wcompare-reals.
* invoke.texi: Document -Wcompare-reals.
* resolve.c (resolve_operator): If -Wcompare-reals is in effect,
warn about equality/inequality comparisions for REAL and COMPLEX.
* options.c (gfc_init_options): Set warn_compare_reals.
(set_Wall): Include warn_compare_reals in Wall.
(gfc_handle_option): Handle Wcompare_reals.
2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54298
* gfortran.dg/real_compare_1.f90: New test case.
* gfortran.dg/bessel_5.f90 Add -Wno-compare-reals to options.
From-SVN: r190516
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r-- | gcc/fortran/options.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 64d4da1..3e4444d 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -113,6 +113,7 @@ gfc_init_options (unsigned int decoded_options_count, gfc_option.warn_unused_dummy_argument = 0; gfc_option.warn_realloc_lhs = 0; gfc_option.warn_realloc_lhs_all = 0; + gfc_option.warn_compare_reals = 0; gfc_option.max_errors = 25; gfc_option.flag_all_intrinsics = 0; @@ -473,6 +474,7 @@ set_Wall (int setting) gfc_option.warn_character_truncation = setting; gfc_option.warn_real_q_constant = setting; gfc_option.warn_unused_dummy_argument = setting; + gfc_option.warn_compare_reals = setting; warn_return_type = setting; warn_switch = setting; @@ -638,6 +640,10 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.warn_character_truncation = value; break; + case OPT_Wcompare_reals: + gfc_option.warn_compare_reals = value; + break; + case OPT_Wconversion: gfc_option.gfc_warn_conversion = value; break; |