aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2012-08-19 15:05:41 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2012-08-19 15:05:41 +0000
commitcf21551eac46a2494613eb3ef8d62699c6d9ab74 (patch)
tree84b40c19d9c7f98d00864d2e148356bbea76b7b7 /gcc/fortran/options.c
parent5da8c011067c5514c5e891fd8b4d854eb4fc2e71 (diff)
downloadgcc-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.c6
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;