RFR: 8339309: unused-variable warnings happen in libfontmanager

Phil Race prr at openjdk.org
Fri Aug 30 22:05:21 UTC 2024


On Fri, 30 Aug 2024 10:17:38 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:

> I saw following errors (warnings) when I tried to build OpenJDK on Fedora 40 with gcc-14.2.1-1.fc40.x86_64:
> 
> 
> /home/ysuenaga/github-forked/jdk/src/java.desktop/share/native/libfontmanager/HBShaper_Panama.c: In function ‘jdk_hb_shape’:
> /home/ysuenaga/github-forked/jdk/src/java.desktop/share/native/libfontmanager/HBShaper_Panama.c:101:16: error: unused variable ‘yPtSize’ [-Werror=unused-variable]
>   101 | float yPtSize = euclidianDistance(matrix[2], matrix[3]);
>       | ^~~~~~~
> cc1: all warnings being treated as errors
> * For target support_native_java.desktop_libfontmanager_X11FontScaler.o:
> /home/ysuenaga/github-forked/jdk/src/java.desktop/unix/native/libfontmanager/X11FontScaler.c: In function ‘Java_sun_font_NativeFont_getGlyphAdvance’:
> /home/ysuenaga/github-forked/jdk/src/java.desktop/unix/native/libfontmanager/X11FontScaler.c:270:32: error: unused variable ‘descent’ [-Werror=unused-variable]
>   270 | int direction, ascent, descent;
>       | ^~~~~~~
> /home/ysuenaga/github-forked/jdk/src/java.desktop/unix/native/libfontmanager/X11FontScaler.c:270:24: error: unused variable ‘ascent’ [-Werror=unused-variable]
>   270 | int direction, ascent, descent;
>       | ^~~~~~
> /home/ysuenaga/github-forked/jdk/src/java.desktop/unix/native/libfontmanager/X11FontScaler.c:270:13: error: unused variable ‘direction’ [-Werror=unused-variable]
>   270 | int direction, ascent, descent;
>       | ^~~~~~~~~
> /home/ysuenaga/github-forked/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c: In function ‘Java_sun_font_FreetypeFontScaler_createScalerContextNative’:
> /home/ysuenaga/github-forked/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c:516:19: error: unused variable ‘scalerInfo’ [-Werror=unused-variable]
>   516 | FTScalerInfo *scalerInfo =
>       | ^~~~~~~~~~
> /home/ysuenaga/github-forked/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c: In function ‘Java_sun_font_FreetypeFontScaler_getGlyphPointNative’:
> /home/ysuenaga/github-forked/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c:1655:13: error: unused variable ‘point’ [-Werror=unused-variable]
>  1655 | jobject point = NULL;
>       | ^~~~~

src/java.desktop/share/native/libfontmanager/HBShaper_Panama.c line 101:

> 99:      if (getenv("HB_NODEVTX") != NULL) {
> 100:          float xPtSize = euclidianDistance(matrix[0], matrix[1]);
> 101:          float yPtSize = euclidianDistance(matrix[2], matrix[3]);

I paused to think about whether the problem is really that  the division below should be using yPtSize .. in other words, the correct fix isn't always as obvious as it might look.

For the record, I think the unused var is becuase it was patterned after the code code in HBShaper.c which stores the yPtSize in a struct, but here it is clear that it isn't used.

    fi->xPtSize = euclidianDistance(fi->matrix[0], fi->matrix[1]);
    fi->yPtSize = euclidianDistance(fi->matrix[2], fi->matrix[3]);
    if (getenv("HB_NODEVTX") != NULL) {
        fi->devScale = fi->xPtSize / fi->ptSize;


Now, as far as I can they aren't used except in that fn, so probably can also go ..

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20790#discussion_r1739448726


More information about the client-libs-dev mailing list