On Wed, 7 Jun 2023 11:23:26 GMT, JoKern65 <d...@openjdk.org> wrote: >> This pr is a split off from JDK-8308288: Fix xlc17 clang warnings in shared >> code https://github.com/openjdk/jdk/pull/14146 >> It handles the part in java.base. >> >> Compiling on AIX with xlc17 which contains the new clang 15 frontend >> shows the following warnings. >> >> built by make/modules/java.base/Lib.gmk >> >> src/java.base/unix/native/libnet/DefaultProxySelector.c:378:41:22: error: >> passing arguments to a function without a prototype is deprecated in all >> versions of C and is not supported in C2x >> [-Werror,-Wdeprecated-non-prototype] >> proxies = (*g_proxy_resolver_lookup)(resolver, uri, NULL, &error); >> ^ >> >> >> src/java.base/unix/native/libnet/NetworkInterface.c:1612:24: error: >> arithmetic on a pointer to void is a GNU extension >> [-Werror,-Wgnu-pointer-arith] >> end = (void *)nddp + size; >> >> src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c:1251:7: error: >> '_ALLBSD_SOURCE' is not defined, evaluates to 0 [-Werror,-Wundef] >> #elif _ALLBSD_SOURCE >> The whole file checks whether _ALLBSD_SOURCE is defined, only where #elif is >> used the call to defined() was forgotten. >> >> built by make/modules/java.base/lib/CoreLibraries.gmk >> >> src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c:638 comparison of >> integers of different signs: 'int' and 'unsigned long' >> if (ret < sizeof(psinfo_t)) { >> ProcessHandleImpl_unix.c: Just using the proper type `size_t` instead of >> `int`. >> >> >> src/java.base/aix/native/libjli/java_md_aix.c:42:38: error: arithmetic on a >> pointer to void is a GNU extension [-Werror,-Wgnu-pointer-arith] >> addr < p->ldinfo_textorg + p->ldinfo_textsize) { >> we can fix this with temporary casting the `void*` pointer to `char*` or by >> disabling the warning in CoreLibraries.gmk >> >> src/java.base/share/native/libzip/zlib/inffast.c:74:20: error: a function >> definition without a prototype is deprecated in all versions of C and is not >> supported in C2x [-Werror,-Wdeprecated-non-prototype] >> void ZLIB_INTERNAL inflate_fast(strm, start) >> ^ >> src/java.base/share/native/libjli/java.c:2311:22: error: format string is >> not a string literal [-Werror,-Wformat-nonliteral] >> vfprintf(stderr, fmt, vl); >> ^~~ >> >> The test library libGetXSpace.c also shows a warning. >> In addition, the cast in that lib is wrong, we opened >> "[JDK-8309216](https://bugs.openjdk.org/browse/JDK-8309216) cast from jchar* >> to char* in test GetXSpace.java" for that. > > JoKern65 has updated the pull request incrementally with one additional > commit since the last revision: > > Update libGetXSpace.c > > cast not necessary
Marked as reviewed by mdoerr (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/14281#pullrequestreview-1467571356