Bug : https://bugs.openjdk.java.net/browse/JDK-8074844 Webrev : http://cr.openjdk.java.net/~prr/8074844/index.html
This resolves the disabled compiler warnings in what is now quite a small fontmanager library.
I've built windows, mac and linux in our build system and run our full battery of automated tests and sanity checked manual.
A quick run down of how the warnings map to the changes DISABLED_WARNINGS_clang := sign-compare, DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast, Sign compare in both of the above are the reason for the majority of the changes in freetypeScaler.c and also the change in hb-jdk.h unused-function was _free_nothing in src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc int-to-pointer-cast was an issue for 32 bit as raised here https://bugs.openjdk.java.net/browse/JDK-8250605 when a previous removal broke 32 bit Linux. Since we don't build or test that I was flying in the dark here using the warnings from that bug. The changes for this are those in src/java.desktop/share/native/libfontmanager/DrawGlyphList.c src/java.desktop/unix/native/libfontmanager/X11FontScaler.c DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996, The unique windows warnings were ./open/src/java.desktop/share/native/libfontmanager/HBShaper.c(216): error C2220: the following warning is treated as an error ./open/src/java.desktop/share/native/libfontmanager/HBShaper.c(216): warning C4244: '=': conversion from 'jlong' to 'long', possible loss of data ./open/src/java.desktop/share/native/libfontmanager/freetypeScaler.c(1216): error C2220: the following warning is treated as an error ./open/src/java.desktop/share/native/libfontmanager/freetypeScaler.c(1216): warning C4146: unary minus operator applied to unsigned type, result still unsigned ./open/src/java.desktop/windows/native/libfontmanager/lcdglyph.c(128): error C2220: the following warning is treated as an error [ ./open/src/java.desktop/windows/native/libfontmanager/lcdglyph.c(128): warning C4996: 'GetVersion': was declared deprecated GetVersion isn't needed any more since we aren't likely to be running on anything older than XP ! -phil.