RFR: JDK-8309224: Fix xlc17 clang 15 warnings in java.desktop

Phil Race prr at openjdk.org
Thu Jun 1 17:17:08 UTC 2023


On Thu, 1 Jun 2023 13:16:49 GMT, JoKern65 <duke at openjdk.org> wrote:

> This pr is a split off from JDK-8308288: Fix xlc17 clang warnings in shared code https://github.com/openjdk/jdk/pull/14146
> It handles the part in java.desktop.
> prrace had already reviewed this part in the original pr.
> 
> Here are the handled errors for which we use the same warning disabling as gcc.
> 
> src/java.desktop/unix/native/common/awt/awt_GraphicsEnv.h:53:12: error: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C2x, conflicting with a previous declaration [-Werror,-Wdeprecated-non-prototype]
> extern int XShmQueryExtension();
> ^
> /usr/include/X11/extensions/XShm.h:91:6: note: conflicting prototype is here
> Bool XShmQueryExtension(
> ^
> solved by adding line (generic, because several source files are involved)
> DISABLED_WARNINGS_clang_aix := deprecated-non-prototype, \
> 
> src/java.desktop/unix/native/libawt_xawt/xawt/awt_Taskbar.c:158:11: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
> if (m = fp_unity_launcher_entry_get_quicklist(entry)) {
> ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> solved by adding line
> DISABLED_WARNINGS_clang_aix_awt_Taskbar.c := parentheses, \
> 
> src/java.desktop/share/native/common/java2d/opengl/OGLPaints.c:581:48: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
> snprintf(cycleCode, sizeof(cycleCode), noCycleCode, texCoordCalcCode);
> ^~~~~~~~~~~
> solved by adding line
> DISABLED_WARNINGS_clang_aix_OGLPaints.c := format-nonliteral, \
> 
> src/java.desktop/share/native/common/java2d/opengl/OGLBufImgOps.c:153:48: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
> snprintf(finalSource, sizeof(finalSource), convolveShaderSource,
> ^~~~~~~~~~~~~~~~~~~~
> solved by adding line
> DISABLED_WARNINGS_clang_aix_OGLBufImgOps.c := format-nonliteral, \
> 
> src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c:1095:41: error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
> if ((synth_state & MOUSE_OVER) != 0 && (synth_state & PRESSED) == 0 ||
> 
> src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c:1180:29: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
> if (init_result = (NULL == gtk2_widgets[_GTK_CHECK_MENU_ITEM_TYPE]))
> ~~~~~~~~~~~~^
> solved by adding line
> DISABLED_WARNINGS_clang_aix_gtk2_interface.c := parentheses logical-op-parentheses, \
> 
> src/java.desktop/unix/native/libawt_xawt/a...

Marked as reviewed by prr (Reviewer).

make/modules/java.desktop/lib/Awt2dLibraries.gmk line 708:

> 706:   # The external libpng submitted in the jdk is an old version
> 707:   # which does not contain .png_init_filter_functions_vsx.
> 708:   # Therefore we need to disable PNG_POWERPC_VSX_OPT explicitely by setting

explicitely -> explicitly

And it isn't an old version. It is very current.
I think we just chose not to import functionality we weren't using.

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

PR Review: https://git.openjdk.org/jdk/pull/14263#pullrequestreview-1455951072
PR Review Comment: https://git.openjdk.org/jdk/pull/14263#discussion_r1213453608



More information about the build-dev mailing list