GCC (since some version older than we support now) ignores disabling of
unknown warning labels. This is a feature we depend on for these
constructs. Without that it wouldn't be possible to list all the labels
like this.
(We used to check for this feature in GCC in configure and only use the
warning disabling flags if GCC properly ignored unknowns, but since we
require a newer version than that now, we no longer need to)
/Erik
On 2018-10-10 09:10, Baesken, Matthias wrote:
Thanks.
I am a bit worried that
DISABLED_WARNINGS_gcc := format-truncation
DISABLED_WARNINGS_CXX_gcc := format-truncation
Could bring errors on older gcc versions , any ideas about this ?
(will test with gcc 4.8 of course as well )
Best regards, Matthias
-----Original Message-----
From: Erik Joelsson <erik.joels...@oracle.com>
Sent: Mittwoch, 10. Oktober 2018 18:08
To: Baesken, Matthias <matthias.baes...@sap.com>; 'build-
d...@openjdk.java.net' <build-dev@openjdk.java.net>
Subject: Re: gcc 7.3.1 build - warnings as errors in harfbuzz
I think that's fine. This is the granularity we have.
/Erik
On 2018-10-10 09:02, Baesken, Matthias wrote:
Hi Erik, so I think I could disable the warning here :
Awt2dLibraries.gmk
---------------------------------
$(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
NAME := fontmanager, \
....
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := format-truncation sign-compare int-to-
pointer-cast \
type-limits missing-field-initializers implicit-fallthrough \
strict-aliasing undef unused-function, \
DISABLED_WARNINGS_CXX_gcc := format-truncation reorder delete-
non-virtual-dtor strict-overflow \
maybe-uninitialized, \
...
(add format-truncation for gcc in the warning-disabling section).
However this would disable it also for other versions of gcc where the
issue never showed up .
Do you think this is fine (and safe for older gcc) ?
Best regards, Matthias
-----Original Message-----
From: Erik Joelsson <erik.joels...@oracle.com>
Sent: Mittwoch, 10. Oktober 2018 17:33
To: Baesken, Matthias <matthias.baes...@sap.com>; 'build-
d...@openjdk.java.net' <build-dev@openjdk.java.net>
Subject: Re: gcc 7.3.1 build - warnings as errors in harfbuzz
In this case, disabling the warning seems like the right thing to do.
/Erik
On 2018-10-10 06:14, Baesken, Matthias wrote:
Hello , when compiling jdk/jdk with gcc 7.3.1 on linux x86_64 (or also
on linux ppc64) I run into this build error :
/open_jdk/jdk_just_clone/jdk/src/java.desktop/share/native/libfontmanag
er/harfbuzz/hb-common.cc: In function 'void
hb_variation_to_string(hb_variation_t*, char*, unsigned int)':
/open_jdk/jdk_just_clone/jdk/src/java.desktop/share/native/libfontmanag
er/harfbuzz/hb-common.cc:1066:27: error: '%g' directive output between
1
and 18446744073709551615 bytes may cause result to exceed 'INT_MAX'
[-
Werror=format-truncation=]
len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%g",
variation-
value));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~
/open_jdk/jdk_just_clone/jdk/src/java.desktop/share/native/libfontmanag
er/harfbuzz/hb-common.cc:1066:27: note: assuming directive output of
2147488582 bytes
cc1plus: all warnings being treated as errors
(build is a product - build)
Setting –disable-warnings-as-errors works as a workaround , but of
course this is not really what we want to do .
Fixing in the harfbuzz sources in OpenJDk might be also not so nice
because it would clash with imports of new versions of harfbuzz .
Do you think we could disable the specific warning for the library
compilation ?
Any other great suggestions đŸ˜‰ ?
Thanks, Matthias