RFR: 8303764: Enable -Zc:wchar_t for Visual C++ [v5]

Magnus Ihse Bursie ihse at openjdk.org
Fri Mar 7 15:14:09 UTC 2025


On Sat, 11 Mar 2023 15:10:09 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> Was: sunmscapi.dll cannot compile with Visual C++
>> 
>> `-Zc:wchar_t-` has, until now, been passed to switch off wchar_t as a distinct C++ type when compiling with Visual C++ so jchar and wchar_t are typedef'd to shorts on Windows. After some examination it appears this flag is not actually needed for almost every source file that we have, barring security.cpp, so we could try to remove it and make Windows code behave more like regular C++, since casting between wchar_t and jchar does not appear to happen very often (only appearing in one file!). wchar_t in Standard C is a typedef and is never affected by this flag, and if `-Zc:wchar_t` is enabled for C code, it is simply ignored
>
> Julian Waters has updated the pull request incrementally with one additional commit since the last revision:
> 
>   AccessBridgeJavaEntryPoints.cpp

So, Daniel pointed out some irrelevant changes that you tried to sneak in. :) I think he is right that these should be reverted. I don't see anyone complaining about removing `-Zc:wchar_t-` though, or the necessary follow-up fixes for this. 

But this PR has indeed gotten a bit messy, so it's maybe better to open a new and just bring over the relevant fixes.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/12907#issuecomment-2706696288


More information about the build-dev mailing list