diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2018-02-22 18:14:21 +0200 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2018-02-22 18:14:21 +0200 |
commit | 6cc22cf4dfcfecda589cd0fc023abbeff7779279 (patch) | |
tree | 911979f9a93cb44340a7cd0c77ee209e85268f8a /libgfortran | |
parent | 58730d1899b1deb723c0b13984fda1768ae73408 (diff) |
PR 78534, 84509 Fix libgfortran API for PAUSE statement
This patch changes the libgfortran API for the PAUSE statement. By
passing a GFC_INTEGER_8 it handles -fdefault-integer-8, and for the
character version passing the length as a size_t.
Regtested on x86_64-pc-linux-gnu, committed as obvious.
gcc/fortran/ChangeLog:
2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
PR 78534
PR 84509
* trans-decl.c (gfc_build_builtin_function_decls): Pass
gfc_int8_type node to pause_numeric, size_type_node to
pause_string.
* trans-stmt.c (gfc_trans_pause): Likewise.
libgfortran/ChangeLog:
2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
PR 78534
PR 84509
* runtime/pause.c (pause_numeric): Modify to take GFC_INTEGER_8
argument.
(pause_string): Modify to take size_t character length argument.
From-SVN: r257903
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 8 | ||||
-rw-r--r-- | libgfortran/runtime/pause.c | 10 |
2 files changed, 13 insertions, 5 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 4db4968e209..0ef7e2cea98 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,5 +1,13 @@ 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> + PR 78534 + PR 84509 + * runtime/pause.c (pause_numeric): Modify to take GFC_INTEGER_8 + argument. + (pause_string): Modify to take size_t character length argument. + +2018-02-22 Janne Blomqvist <jb@gcc.gnu.org> + * libgfortran.h (stop_string): Use size_t for character length. * runtime/stop.c (stop_string): Likewise. (error_stop_string): Likewise. diff --git a/libgfortran/runtime/pause.c b/libgfortran/runtime/pause.c index 25690d8319e..3b4c17b8932 100644 --- a/libgfortran/runtime/pause.c +++ b/libgfortran/runtime/pause.c @@ -46,23 +46,23 @@ do_pause (void) /* A numeric PAUSE statement. */ -extern void pause_numeric (GFC_INTEGER_4); +extern void pause_numeric (GFC_INTEGER_8); export_proto(pause_numeric); void -pause_numeric (GFC_INTEGER_4 code) +pause_numeric (GFC_INTEGER_8 code) { - st_printf ("PAUSE %d\n", (int) code); + st_printf ("PAUSE %ld\n", (long) code); do_pause (); } /* A character string or blank PAUSE statement. */ -extern void pause_string (char *string, GFC_INTEGER_4 len); +extern void pause_string (char *string, size_t len); export_proto(pause_string); void -pause_string (char *string, GFC_INTEGER_4 len) +pause_string (char *string, size_t len) { estr_write ("PAUSE "); ssize_t w = write (STDERR_FILENO, string, len); |