Commit 72ced874 by Kwok Cheung Yeung Committed by Andrew Stubbs

Fix interleaving of Fortran STOP messages

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-12  Kwok Cheung Yeung  <kcy@codesourcery.com>

	libgfortran/
	* runtime/minimal.c (estr_write): Define in terms of write.

From-SVN: r264239
parent 4986a956
2018-09-12 Kwok Cheung Yeung <kcy@codesourcery.com>
* runtime/minimal.c (estr_write): Define in terms of write.
2018-09-12 Andrew Stubbs <ams@codesourcery.com> 2018-09-12 Andrew Stubbs <ams@codesourcery.com>
* runtime/minimal.c (exit): Only work around nvptx bugs on nvptx. * runtime/minimal.c (exit): Only work around nvptx bugs on nvptx.
......
...@@ -196,7 +196,7 @@ sys_abort (void) ...@@ -196,7 +196,7 @@ sys_abort (void)
#undef st_printf #undef st_printf
#define st_printf printf #define st_printf printf
#undef estr_write #undef estr_write
#define estr_write printf #define estr_write(X) write(STDERR_FILENO, (X), strlen (X))
#if __nvptx__ #if __nvptx__
/* Map "exit" to "abort"; see PR85463 '[nvptx] "exit" in offloaded region /* Map "exit" to "abort"; see PR85463 '[nvptx] "exit" in offloaded region
doesn't terminate process'. */ doesn't terminate process'. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment