On Mon, 7 Aug 2023 14:40:42 GMT, Jorn Vernee <jver...@openjdk.org> wrote:
> Fix these -Wconversion warnings in the foreign benchmarks: > > > ./test/micro/org/openjdk/bench/java/lang/foreign/libQSortJNI.c: In function > ‘Java_org_openjdk_bench_java_lang_foreign_QSort_jni_1qsort_1optimized’: > ./test/micro/org/openjdk/bench/java/lang/foreign/libQSortJNI.c:59:17: > warning: conversion to ‘size_t’ {aka ‘long unsigned int’} from ‘jsize’ {aka > ‘int’} may change the sign of the result [-Wsign-conversion] > 59 | qsort(ints, length, sizeof(jint), &comparator); > | ^~~~~~ > ./test/micro/org/openjdk/bench/java/lang/foreign/libQSortJNI.c: In function > ‘Java_org_openjdk_bench_java_lang_foreign_QSort_jni_1qsort_1naive’: > ./test/micro/org/openjdk/bench/java/lang/foreign/libQSortJNI.c:87:17: > warning: conversion to ‘size_t’ {aka ‘long unsigned int’} from ‘jsize’ {aka > ‘int’} may change the sign of the result [-Wsign-conversion] > 87 | qsort(carr, length, sizeof(jint), java_cmp); > | > > > In this case the issue is that we're converting from a signed type to an > unsigned type. So, if the source value is negative, it will be positive after > conversion. > > Since the source value is a Java array length in both cases, the value can > not be negative, so we simply fix this by casting to `size_t` explicitly. LGTM. ------------- Marked as reviewed by pminborg (Committer). PR Review: https://git.openjdk.org/jdk/pull/15179#pullrequestreview-1567352237