On Mon, 6 May 2019, Jacek Caban wrote:

On 5/6/19 11:18 AM, Martin Storsjö wrote:
UCRT is handled in a separate ifdef further above.


The patch looks good, but I'm curious about possible future changes. It seems tempting to use UCRT variant for all crts (except problematic ARMs that have dedicated branch anyway) to unify builds and simplify the code. From your experience with porting to UCRT, would it cause problems for users?

You mean to provide and use e.g. (* __p__environ()) for the older CRTs, instead of a plain dllimported data variable? I think that's a good strategy in general, for the cases where it's feasible (e.g. not the arm pre-ucrt crts), it should be at least as flexible as the old method, and reduce differences between crts.

FWIW, on the topic of reducing differences between CRTs and making object files built with one header potentially work when linked with another one; the really major blocker on that front is struct threadlocaleinfostruct, which has got a totally different layout for UCRT, and use of it and its layout gets inlined in a number of e.g. ctype.h style functions.

// Martin

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to