diff options
author | Harald Anlauf <anlauf@gmx.de> | 2023-10-06 22:21:56 +0200 |
---|---|---|
committer | Harald Anlauf <anlauf@gmx.de> | 2023-10-13 18:54:53 +0200 |
commit | 458c253ccdae9df439b9a452d04e325101e5756e (patch) | |
tree | a721aa9b8acf1858213b9d021a969be23ee28e81 /gcc/fortran/options.cc | |
parent | 8be20f3b0bded7f9b690b27cbee58b283dbe827b (diff) | |
download | gcc-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.cc | 9 |
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); |