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