public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libfortran/94625] New: documentation of _gfortran_set_options  does not match implementation
@ 2020-04-16 17:33 cgw at alum dot mit.edu
  2020-10-06 13:23 ` [Bug fortran/94625] " dominiq at lps dot ens.fr
  0 siblings, 1 reply; 2+ messages in thread
From: cgw at alum dot mit.edu @ 2020-04-16 17:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94625

            Bug ID: 94625
           Summary: documentation of _gfortran_set_options  does not match
                    implementation
           Product: gcc
           Version: 9.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: cgw at alum dot mit.edu
  Target Milestone: ---

In gcc/fortran/gfortran.texi the documentation for _libgfortran_set_options
describes the OPTIONS argument as follows:


     OPTION[0]   Allowed standard; can give run-time errors if
                 e.g.  an input-output edit descriptor is invalid
                 in a given standard.  Possible values are
                 (bitwise or-ed) 'GFC_STD_F77' (1),
                 'GFC_STD_F95_OBS' (2), 'GFC_STD_F95_DEL' (4),
                 'GFC_STD_F95' (8), 'GFC_STD_F2003' (16),
                 'GFC_STD_GNU' (32), 'GFC_STD_LEGACY' (64),
                 'GFC_STD_F2008' (128), 'GFC_STD_F2008_OBS'
                 (256), 'GFC_STD_F2008_TS' (512), 'GFC_STD_F2018'
                 (1024), 'GFC_STD_F2018_OBS' (2048), and
                 'GFC_STD=F2018_DEL' (4096).  Default:
                 'GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F95
                 | GFC_STD_F2003 | GFC_STD_F2008 |
                 GFC_STD_F2008_TS | GFC_STD_F2008_OBS |
                 GFC_STD_F77 | GFC_STD_F2018 | GFC_STD_F2018_OBS
                 | GFC_STD_F2018_DEL | GFC_STD_GNU |
                 GFC_STD_LEGACY'.
     OPTION[1]   Standard-warning flag; prints a warning to
                 standard error.  Default: 'GFC_STD_F95_DEL |
                 GFC_STD_LEGACY'.
     OPTION[2]   If non zero, enable pedantic checking.  Default:
                 off.
     OPTION[3]   Unused.
     OPTION[4]   If non zero, enable backtracing on run-time
                 errors.  Default: off.  (Default in the
                 compiler: on.)  Note: Installs a signal handler
                 and requires command-line initialization using
                 '_gfortran_set_args'.
     OPTION[5]   If non zero, supports signed zeros.  Default:
                 enabled.
     OPTION[6]   Enables run-time checking.  Possible values are
                 (bitwise or-ed): GFC_RTCHECK_BOUNDS (1),
                 GFC_RTCHECK_ARRAY_TEMPS (2),
                 GFC_RTCHECK_RECURSION (4), GFC_RTCHECK_DO (16),
                 GFC_RTCHECK_POINTER (32).  Default: disabled.
     OPTION[7]   Unused.
     OPTION[8]   Show a warning when invoking 'STOP' and 'ERROR
                 STOP' if a floating-point exception occurred.
                 Possible values are (bitwise or-ed)
                 'GFC_FPE_INVALID' (1), 'GFC_FPE_DENORMAL' (2),
                 'GFC_FPE_ZERO' (4), 'GFC_FPE_OVERFLOW' (8),
                 'GFC_FPE_UNDERFLOW' (16), 'GFC_FPE_INEXACT'
                 (32).  Default: None (0).  (Default in the
                 compiler: 'GFC_FPE_INVALID | GFC_FPE_DENORMAL |
                 GFC_FPE_ZERO | GFC_FPE_OVERFLOW |
                 GFC_FPE_UNDERFLOW'.)

Unless I'm misunderstanding, _libgfortran_set_options is the public name for a
function defined as set_options in libgfortran/runtime/compile_options.c

void
set_options (int num, int options[])
{
  if (num >= 1)
    compile_options.warn_std = options[0];
  if (num >= 2)
    compile_options.allow_std = options[1];
  if (num >= 3)
    compile_options.pedantic = options[2];
  if (num >= 4)
    compile_options.backtrace = options[3];
  if (num >= 5)
    compile_options.sign_zero = options[4];
  if (num >= 6)
    compile_options.bounds_check = options[5];
  if (num >= 7)
    compile_options.fpe_summary = options[6];


Note that the the first two options - `warn` and `allow` - seem to be reversed,
and unused elements 3 and 7 seem to have been removed, as also borne out by

libgfortran/ChangeLog-2016:     * runtime/compile_options.c (set_options):
Remove unused elements.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug fortran/94625] documentation of _gfortran_set_options does not match implementation
  2020-04-16 17:33 [Bug libfortran/94625] New: documentation of _gfortran_set_options does not match implementation cgw at alum dot mit.edu
@ 2020-10-06 13:23 ` dominiq at lps dot ens.fr
  0 siblings, 0 replies; 2+ messages in thread
From: dominiq at lps dot ens.fr @ 2020-10-06 13:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94625

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Severity|normal                      |minor
   Last reconfirmed|                            |2020-10-06

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-10-06 13:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-16 17:33 [Bug libfortran/94625] New: documentation of _gfortran_set_options does not match implementation cgw at alum dot mit.edu
2020-10-06 13:23 ` [Bug fortran/94625] " dominiq at lps dot ens.fr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).