RFR: 8348286: [AIX] clang 17 introduces new warning Wtentative-Definitions which produces Build errors [v3]
Joachim Kern
jkern at openjdk.org
Thu Jan 23 13:48:06 UTC 2025
> We (SAP) try to introduce the ‘IBM Open XL C/C++ for AIX 17.1.2’ (based on clang 17) as a feasible compiler for jdk25, because in combination with the 17.1.3 runtime this would enable the support for ubsan.
> Unfortunately, the new compiler comes along with a new set of compiler warnings turned into errors by -Werror.
> One of the warnings is -Wtentative-definitions. It is fired when a variable definition in a header is found:
> /jdk/src/java.desktop/share/native/libawt/awt/image/imageInitIDs.h:36:20: error: possible missing 'extern' on global variable definition in header [-Werror,-Wtentative-definitions]
> 36 | IMGEXTERN jfieldID g_BImgRasterID;
> | ^
> From now on headers allow only extern declarations of variables. The definition must take place in a c/cpp file. This means e.g.
> imageInitIDs.h:36:20
> 36 extern jfieldID g_BImgRasterID;
> and the corresponding c-File
> jfieldID g_BImgRasterID;
>
> The other possible solution would be to compile everything with
> -Wno-tentative-definitions
> which could be set in flags-cflags.m4, if compiling with clang 17.
Joachim Kern has updated the pull request incrementally with one additional commit since the last revision:
remove old solution
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23236/files
- new: https://git.openjdk.org/jdk/pull/23236/files/5a228434..19ebd62c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23236&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23236&range=01-02
Stats: 6 lines in 1 file changed: 0 ins; 6 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/23236.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23236/head:pull/23236
PR: https://git.openjdk.org/jdk/pull/23236
More information about the build-dev
mailing list