aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.cc
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2023-10-06 22:21:56 +0200
committerHarald Anlauf <anlauf@gmx.de>2023-10-13 18:54:53 +0200
commit458c253ccdae9df439b9a452d04e325101e5756e (patch)
treea721aa9b8acf1858213b9d021a969be23ee28e81 /gcc/fortran/options.cc
parent8be20f3b0bded7f9b690b27cbee58b283dbe827b (diff)
downloadgcc-458c253ccdae9df439b9a452d04e325101e5756e.zip
gcc-458c253ccdae9df439b9a452d04e325101e5756e.tar.gz
gcc-458c253ccdae9df439b9a452d04e325101e5756e.tar.bz2
fortran: fix handling of options -ffpe-trap and -ffpe-summary [PR110957]
gcc/fortran/ChangeLog: PR fortran/110957 * invoke.texi: Update documentation to reflect '-ffpe-trap=none'. * options.cc (gfc_handle_fpe_option): Fix mixup up of error messages for options -ffpe-trap and -ffpe-summary. Accept '-ffpe-trap=none' to clear FPU traps previously set on command line.
Diffstat (limited to 'gcc/fortran/options.cc')
-rw-r--r--gcc/fortran/options.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
index 27311961..2ad2247 100644
--- a/gcc/fortran/options.cc
+++ b/gcc/fortran/options.cc
@@ -555,9 +555,12 @@ gfc_handle_fpe_option (const char *arg, bool trap)
pos++;
result = 0;
- if (!trap && strncmp ("none", arg, pos) == 0)
+ if (strncmp ("none", arg, pos) == 0)
{
- gfc_option.fpe_summary = 0;
+ if (trap)
+ gfc_option.fpe = 0;
+ else
+ gfc_option.fpe_summary = 0;
arg += pos;
pos = 0;
continue;
@@ -586,7 +589,7 @@ gfc_handle_fpe_option (const char *arg, bool trap)
break;
}
}
- if (!result && !trap)
+ if (!result && trap)
gfc_fatal_error ("Argument to %<-ffpe-trap%> is not valid: %s", arg);
else if (!result)
gfc_fatal_error ("Argument to %<-ffpe-summary%> is not valid: %s", arg);