Ove Kaaven ovek@arcticnet.no writes:
When it comes to ABI issues with MSVC code, the question isn't so much whether it uses cld, but what Windows does when throwing exceptions. Does Windows clear the DF when it calls exception handlers? If not, then there's hardly any Wine bug here (that doesn't exist on Windows anyway). Perhaps someone should test, but my guess is that Windows doesn't clear it.
(And anyway, my experience is that MSVC assumes DF is undefined, and does the cld.)
A quick test on Vista shows that the flag is cleared when calling exception handlers, and that API functions (at least lstrcat) expect it to be cleared on entry and don't do a cld.