diff mbox series

[18/25] Fix interleaving of Fortran stop messages

Message ID 2ba94a85fe9c01c57e474a4cc6b7171cc0adb351.1536144068.git.ams@codesourcery.com
State New
Headers show
Series AMD GCN Port | expand

Commit Message

Andrew Stubbs Sept. 5, 2018, 11:51 a.m. UTC
Fortran STOP and ERROR STOP use a different function to print the "STOP" string
and the message string.  On GCN this results in out-of-order output, such as
"<msg>ERROR STOP ".

This patch fixes the problem by making estr_write use the proper Fortran write,
not C printf, so both parts are now output the same way.  This also ensures
that both parts are output to STDERR (not that that means anything on GCN).

2018-09-05  Kwok Cheung Yeung  <kcy@codesourcery.com>

	libgfortran/
	* runtime/minimal.c (estr_write): Define in terms of write.
---
 libgfortran/runtime/minimal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Janne Blomqvist Sept. 5, 2018, 6:11 p.m. UTC | #1
On Wed, Sep 5, 2018 at 7:57 PM Toon Moene <toon@moene.org> wrote:

>
>
>
> -------- Forwarded Message --------
> Subject: [PATCH 18/25] Fix interleaving of Fortran stop messages
> Date: Wed, 5 Sep 2018 12:51:19 +0100
> From: ams@codesourcery.com
> To: gcc-patches@gcc.gnu.org
>
>
> Fortran STOP and ERROR STOP use a different function to print the "STOP"
> string
> and the message string.  On GCN this results in out-of-order output, such
> as
> "<msg>ERROR STOP ".
>
> This patch fixes the problem by making estr_write use the proper Fortran
> write,
> not C printf, so both parts are now output the same way.  This also ensures
> that both parts are output to STDERR (not that that means anything on GCN).
>
> 2018-09-05  Kwok Cheung Yeung  <kcy@codesourcery.com>
>
>         libgfortran/
>         * runtime/minimal.c (estr_write): Define in terms of write.
> ---
>   libgfortran/runtime/minimal.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
>
>
Ok, thanks.
Andrew Stubbs Sept. 12, 2018, 1:55 p.m. UTC | #2
On 05/09/18 19:11, Janne Blomqvist wrote:
> Ok, thanks.

Committed, thanks.

Apologies again for missing the Fortran list.

Andrew
diff mbox series

Patch

diff --git a/libgfortran/runtime/minimal.c b/libgfortran/runtime/minimal.c
index 8940f97..b6d26fd 100644
--- a/libgfortran/runtime/minimal.c
+++ b/libgfortran/runtime/minimal.c
@@ -196,7 +196,7 @@  sys_abort (void)
 #undef st_printf
 #define st_printf printf
 #undef estr_write
-#define estr_write printf
+#define estr_write(X) write(STDERR_FILENO, (X), strlen (X))
 #if __nvptx__
 /* Map "exit" to "abort"; see PR85463 '[nvptx] "exit" in offloaded region
    doesn't terminate process'.  */