PR 84519 Handle optional QUIET specifier for STOP and ERROR STOP
commitdffb1e2279fc9df82b2817c87a9a6319e7508532
authorJanne Blomqvist <jb@gcc.gnu.org>
Fri, 23 Feb 2018 09:07:24 +0000 (23 11:07 +0200)
committerJanne Blomqvist <jb@gcc.gnu.org>
Fri, 23 Feb 2018 09:07:24 +0000 (23 11:07 +0200)
tree858fec6d98338d83564c6149d999223d2f44d204
parent355436fb15420a1b05d3e333f202fa3296b4baaf
PR 84519 Handle optional QUIET specifier for STOP and ERROR STOP

Fortran 2018 adds a new QUIET specifier for the STOP and ERROR STOP
statements, in order to suppress the printing of signaling FP
exceptions and the stop code. This patch adds the necessary library
changes, but for now the new specifier is not parsed and the frontend
unconditionally adds a false value for the new argument.

Regtested on x86_64-pc-linux-gnu.

gcc/fortran/ChangeLog:

2018-02-23  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/84519
* trans-decl.c (gfc_build_builtin_function_decls): Add bool
argument to stop and error stop decls.
* trans-stmt.c (gfc_trans_stop): Add false value to argument
lists.

libgfortran/ChangeLog:

2018-02-23  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/84519
* caf/libcaf.h (_gfortran_caf_stop_numeric): Add bool argument.
(_gfortran_caf_stop_str): Likewise.
(_gfortran_caf_error_stop_str): Likewise.
(_gfortran_caf_error_stop): Likewise.
* caf/mpi.c (_gfortran_caf_error_stop_str): Handle new argument.
(_gfortran_caf_error_stop): Likewise.
* caf/single.c (_gfortran_caf_stop_numeric): Likewise.
(_gfortran_caf_stop_str): Likewise.
(_gfortran_caf_error_stop_str): Likewise.
(_gfortran_caf_error_stop): Likewise.
(_gfortran_caf_lock): Likewise.
(_gfortran_caf_unlock): Likewise.
* libgfortran.h (stop_string): Add bool argument.
* runtime/pause.c (do_pause): Add false argument.
* runtime/stop.c (stop_numeric): Handle new argument.
(stop_string): Likewise.
(error_stop_string): Likewise.
(error_stop_numeric): Likewise.

From-SVN: r257928
gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/fortran/trans-stmt.c
libgfortran/caf/libcaf.h
libgfortran/caf/mpi.c
libgfortran/caf/single.c
libgfortran/libgfortran.h
libgfortran/runtime/pause.c
libgfortran/runtime/stop.c