RFR: 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
Jorn Vernee
jvernee at openjdk.java.net
Tue Sep 28 13:30:39 UTC 2021
On Tue, 28 Sep 2021 11:33:04 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> My system local is zh-cn.
>
> But changing the locale isn't acceptable since many of our Apps require zh-cn in our country.
I understand, and that is totally reasonable to me.
There might be another way to change the locale just for the compilation [1], but I haven't had time to test that (so for now I think the official advice is to us `en-us` as a system locale). I think something like this should also remove the warnings (after `reconfigure clean`):
diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4
index ba4cb3e9ac7..3078a2e916c 100644
--- a/make/autoconf/flags-cflags.m4
+++ b/make/autoconf/flags-cflags.m4
@@ -496,7 +496,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JVM="-qtbtable=full -qtune=balanced \
-qalias=noansi -qstrict -qtls=default -qnortti -qnoeh -qignerrno -qstackprotect"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
- TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP"
+ TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP -utf-8"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
fi
In your case the compiler produced some warnings, but I'm wondering if using a different encoding could also silently create subtle behavioral changes. I think it would be good if a specific encoding could be used at build time.
> According to the JBS, C4819 warning was first observed with VS2017 and was disabled by JDK-8216154.
> Then C4474 and C4778 warnings are triggered with VS2019.
> So the code is actually non-portable.
>
> If the non-ascii code is useless, it should be removed to make HotSpot to be more portable.
> Then C4819, C4474 and C4778 would disappear.
> And OpenJDK can be built without changing the locale setting.
I agree with your reasoning, but I can not comment on the contents of the patch, because I'm not a maintainer of this code.
[1] : https://bugs.openjdk.java.net/browse/JDK-8268719
-------------
PR: https://git.openjdk.java.net/jdk/pull/5704
More information about the hotspot-compiler-dev
mailing list