On Tue, 13 May 2025 18:30:01 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 ? Maybe gcc doesn't detect this specific case. There could've been other cases which triggered the warning in gcc. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25217#discussion_r2087418018