Fixes some test failures with https://gitlab.winehq.org/wine/wine/-/merge_requests/4904, where when the driver is found again for a new device (which has a different VID/PID from the first created device and thus, is not cached yet), the original filename from the .pnf file has been overwritten and the driver modules are incorrectly looked up for relative to the .inf in the `c:\windows\inf` folder.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4910
--
v3: jscript: Allow garbage collection between different jscript contexts.
jscript: Make the garbage collector thread-wide rather than per-ctx.
jscript: Don't use atomic compare exchange when setting the script ctx.
jscript: Move thread_id from JScript struct to TLS data.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4640
Clang++ fails to compile Wine's include/winnt.h.
This is caused by Wine defining some function inline, while
the compiler provides an intrinsic version.
This is fine with a C compilation, but fails in a C++ compilation.
This serie fixes the compilation by better detecting the various
cases and giving favor to intrinsic when defined (on clang/clang++).
--
v2: include: Let _InterlockedCompareExchange128 be intrinsic for clang++.
include: Let clang++ use Wine's winnt.h.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4884