gcc 7.3.1 build - warnings as errors in harfbuzz
Erik Joelsson
erik.joelsson at oracle.com
Wed Oct 10 16:15:45 UTC 2018
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.joelsson at oracle.com>
>> Sent: Mittwoch, 10. Oktober 2018 18:08
>> To: Baesken, Matthias <matthias.baesken at sap.com>; 'build-
>> dev at openjdk.java.net' <build-dev at 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.joelsson at oracle.com>
>>>> Sent: Mittwoch, 10. Oktober 2018 17:33
>>>> To: Baesken, Matthias <matthias.baesken at sap.com>; 'build-
>>>> dev at openjdk.java.net' <build-dev at 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
More information about the build-dev
mailing list