From ceb5b08964e34dfae3819257e5df460f24f92a78 Mon Sep 17 00:00:00 2001
From: Aleksey Shipilev <shade@openjdk.org>
Date: Wed, 19 Oct 2022 18:51:14 +0000
Subject: [PATCH] 8294468: Fix char-subscripts warnings in Hotspot

Reviewed-by: dholmes, kbarrett
---
 make/hotspot/lib/CompileJvm.gmk   | 2 --
 src/hotspot/share/libadt/dict.cpp | 3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/make/hotspot/lib/CompileJvm.gmk b/make/hotspot/lib/CompileJvm.gmk
index f8856deffe8..f26422f9247 100644
--- a/make/hotspot/lib/CompileJvm.gmk
+++ b/make/hotspot/lib/CompileJvm.gmk
@@ -159,7 +159,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJVM, \
     DISABLED_WARNINGS_gcc_c1_LIR.cpp := misleading-indentation, \
     DISABLED_WARNINGS_gcc_cgroupV1Subsystem_linux.cpp := address, \
     DISABLED_WARNINGS_gcc_cgroupV2Subsystem_linux.cpp := address, \
-    DISABLED_WARNINGS_gcc_dict.cpp := char-subscripts, \
     DISABLED_WARNINGS_gcc_interp_masm_x86.cpp := uninitialized, \
     DISABLED_WARNINGS_gcc_javaClasses.cpp := misleading-indentation, \
     DISABLED_WARNINGS_gcc_loopnode.cpp := sequence-point, \
@@ -179,7 +178,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJVM, \
     DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
     DISABLED_WARNINGS_clang_arguments.cpp := missing-field-initializers, \
     DISABLED_WARNINGS_clang_codeBuffer.cpp := tautological-undefined-compare, \
-    DISABLED_WARNINGS_clang_dict.cpp := char-subscripts, \
     DISABLED_WARNINGS_clang_directivesParser.cpp := missing-field-initializers, \
     DISABLED_WARNINGS_clang_g1ParScanThreadState.cpp := delete-abstract-non-virtual-dtor, \
     DISABLED_WARNINGS_clang_g1YoungGCPostEvacuateTasks.cpp := delete-abstract-non-virtual-dtor, \
diff --git a/src/hotspot/share/libadt/dict.cpp b/src/hotspot/share/libadt/dict.cpp
index a8c2adc6433..8c3721a15c3 100644
--- a/src/hotspot/share/libadt/dict.cpp
+++ b/src/hotspot/share/libadt/dict.cpp
@@ -235,7 +235,8 @@ void Dict::print() {
 // limited to MAXID characters in length.  Experimental evidence on 150K of
 // C text shows excellent spreading of values for any size hash table.
 int hashstr(const void* t) {
-  char c, k = 0;
+  char c;
+  int k = 0;
   int32_t sum = 0;
   const char* s = (const char*)t;