RFR: 8348286: [AIX] clang 17 introduces new warning Wtentative-Definitions which produces Build errors [v3]
Phil Race
prr at openjdk.org
Thu Jan 23 20:33:53 UTC 2025
On Thu, 23 Jan 2025 13:48:06 GMT, Joachim Kern <jkern at 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.
>
> Joachim Kern has updated the pull request incrementally with one additional commit since the last revision:
>
> remove old solution
If absolutely nothing else needs fp_pipewire.h I guess that ought to be OK ... but this is very new code.
I'd like @azvegint to look at this as he may have had some reason that isn't obvious.
I don't follow why you found it necessary to remove the include statement from the .c file in the image case ?
And I agree that there was actually nothing wrong with the existing code. The compiler must have been confused.
And other than *building* what testing was done with these changes ?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23236#issuecomment-2610956518
More information about the build-dev
mailing list