RFR: 8307160: Fix AWT/2D/A11Y to support the permissive- flag on the Microsoft Visual C compiler [v45]

Magnus Ihse Bursie ihse at openjdk.org
Mon Dec 4 11:47:24 UTC 2023


On Mon, 4 Dec 2023 11:33:09 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> make/autoconf/flags-cflags.m4 line 565:
>> 
>>> 563:     # The -utf-8 option sets source and execution character sets to UTF-8 to enable correct
>>> 564:     # compilation of all source files regardless of the active code page on Windows.
>>> 565:     TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:strictStrings -Zc:inline -permissive- -utf-8 -MP"
>> 
>> What is the rationale for removing `-Zc:strictStrings`? That seems like a step backwards. Also, this will affect *all* files compiled, both hotspot and all native JDK libraries.
>> 
>> If there is a single file that cannot (for some reason) be fixed to have the compiler stop complaining about const strings, that individual file should have `-Zc:strictStrings-` added to its CFLAGS.
>
> @magicus -permissive- automatically turns on -Zc:strictStrings, so specifying it manually becomes redundant when -permissive- is also specified
> https://learn.microsoft.com/en-us/cpp/build/reference/zc-strictstrings-disable-string-literal-type-conversion?view=msvc-170
> 
>> The -Zc:strictStrings option is off by default. The [-permissive-](https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170) compiler option implicitly sets this option, but it can be overridden by using -Zc:strictStrings-

I see. Then I guess this is okay. If/when you are finally ready for integration, and turning on -permissive-, let me know so I can take the patch for a spin in our CI systems before integration.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15096#discussion_r1413756555


More information about the client-libs-dev mailing list