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
This commit is contained in:
Kwok Cheung Yeung 2018-09-12 13:53:34 +00:00 committed by Andrew Stubbs
parent 4986a9568a
commit 72ced87475
2 changed files with 5 additions and 1 deletions

View file

@ -1,3 +1,7 @@
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>
* runtime/minimal.c (exit): Only work around nvptx bugs on nvptx.

View file

@ -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'. */