On Tue, 13 May 2025 18:19:37 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:

> The following line results in unused-result warning on linux/clang.
> 
> 
> /java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c:695:9: error: ignoring 
> return value of function
>  declared with 'warn_unused_result' attribute [-Werror,-Wunused-result]
>  695 | write ( AWT_WRITEPIPE, &wakeUp_char, 1 ); 
> 
> 
> There are two ways to handle it 
> 
> 1) Make changes to XToolkit.c such that the warning is no longer thrown. But 
> throwing an error based on the result of `write ( AWT_WRITEPIPE, 
> &wakeUp_char, 1 );` will result in unexpected behavioral changes and the best 
> way to handle it is to have an empty if block with an appropriate comment.
> 
> 2) Add unused-result to disabled warning section for clang similar to gcc - 
> https://github.com/openjdk/jdk/blob/d1543429ff29ca0d761b8473b3fb8621abcd226d/make/modules/java.desktop/lib/AwtLibraries.gmk#L281.
>  The 1st approach was picked over the 2nd since the usual recommendation is 
> not to add to disabled warning section unless there is no other option.
> 
> NOTE: the fix has been tested on linux/gcc , it does need to be tested on 
> linux/clang.

make/modules/java.desktop/lib/AwtLibraries.gmk line 281:

> 279:       DISABLED_WARNINGS_gcc_XlibWrapper.c := type-limits 
> pointer-to-int-cast, \
> 280:       DISABLED_WARNINGS_gcc_XRBackendNative.c := maybe-uninitialized, \
> 281:       DISABLED_WARNINGS_gcc_XToolkit.c := unused-result, \

Probably a question for build team -
One thing to be noted here is that:  With unused-result line removed and 
WITHOUT the if block changes in XToolkit.c, I expected the build to fail due to 
unused-result on linux/gcc but it did not.
So is there any chance that this disabled warning is being added from else 
where for gcc ?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25217#discussion_r2087413125

Reply via email to