On Wed, 22 Jan 2025 15:34:36 GMT, Joachim Kern <jk...@openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: a4942a2f
Author:    Joachim Kern <jk...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/a4942a2f7a2afdea5577eaae7cc4322ef1662fb9
Stats:     281 lines in 4 files changed: 126 ins; 94 del; 61 mod

8348286: [AIX] clang 17 introduces new warning Wtentative-Definitions which 
produces Build errors

Reviewed-by: ihse, azvegint

-------------

PR: https://git.openjdk.org/jdk/pull/23236

Reply via email to