Jon jon_p_griffiths@yahoo.com writes:
Finally, all references to stdout have been removed - this allows the tests to be built with msvcrt or libc and work. This in turn allows developers to check that c library differences (e.g. printf formatting) won't affect the test results, without rebooting to rebuild/re-run the tests under native windows. It also means you can manually call _chkstk when implementing undocumented calls to ensure that you have the parameters and calling convention correct (a coming patch implements this function for builtin msvcrt).
Note we have to define __NO_INLINE__ when we make the tests, since otherwise our non-stdout referencing calls get mapped straight back to referencing stdout by the glibc headers, and msvcrt will blow up trying to write to a non existant fd.
This is wrong; if you link with msvcrt you have to use msvcrt headers, and then everything works fine, including references to stdout. If you mix glibc and msvcrt you are in trouble.