[OE-core] [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error

Douglas Royds douglas.royds at taitradio.com
Thu Jun 6 21:53:22 UTC 2019


__attribute__((fallthrough)) wouldn't help us with gcc 5.4 in the 
-native case, of course.

I'll resubmit the patch using ICECC_SYSTEM_PACKAGE_BL


On 7/06/19 9:15 AM, Joshua Watt wrote:

> FWIW: I've fixed a few upstream recipes that were doing this to use 
> the __attribute__((fallthrough)) instead of a comment.
>
> Anyway, usually the correct fix is to add the package to 
> ICECC_SYSTEM_PACKAGE_BL in icecc.bbclass; it is maybe not ideal but 
> ICECC_DISABLED is the user control for enabling and disabling icecream 
> globally, not a per-recipe flag.
>
> The current blacklist is woefully outdated, I really need to get 
> around to updating it
>
> On 6/6/19 4:03 PM, Douglas Royds via Openembedded-core wrote:
>> I struggled to find a solution that would work in the -native case, 
>> as we need to support gcc as old as 5.4 (Ubuntu 16.04).
>>
>> The problem is somewhat specific to json-c, as -Werror is hard-coded 
>> into configure.ac in this package.
>>
>>
>> On 6/06/19 9:45 PM, Burton, Ross wrote:
>>
>>> Considering the pain that the gcc upgrade introducing that warning
>>> caused I'll be *very* surprised if this problem is limited to json-c.
>>> Could the icecc class forcibly disable that warning instead?
>>>
>>> Ross
>>>
>>> On Thu, 6 Jun 2019 at 03:06, Douglas Royds via Openembedded-core
>>> <openembedded-core at lists.openembedded.org> wrote:
>>>> icecc preprocesses source files locally before shipping them off to 
>>>> be compiled
>>>> on remote hosts. This preprocessing removes comments, including /* 
>>>> fallthrough */
>>>> comments in switch statements that normally prevent the 
>>>> implicit-fallthrough
>>>> warning.
>>>>
>>>> Rather than turning off -Werror by patching configure.ac, it is 
>>>> simpler to
>>>> disable icecc completely for json-c. There are very few source 
>>>> files to compile,
>>>> so the compilation is quick even without icecc.
>>>>
>>>> See https://github.com/icecc/icecream/issues/419
>>>>
>>>> Signed-off-by: Douglas Royds <douglas.royds at taitradio.com>
>>>> ---
>>>>   meta/recipes-devtools/json-c/json-c_0.13.1.bb | 1 +
>>>>   1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/meta/recipes-devtools/json-c/json-c_0.13.1.bb 
>>>> b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>>> index 5b10e68297..8d2a20352d 100644
>>>> --- a/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>>> +++ b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>>> @@ -21,6 +21,7 @@ RPROVIDES_${PN} = "libjson"
>>>>   inherit autotools
>>>>
>>>>   EXTRA_OECONF = "--enable-rdrand"
>>>> +ICECC_DISABLED = "1"
>>>>
>>>>   do_configure_prepend() {
>>>>       # Clean up autoconf cruft that should not be in the tarball
>>>> -- 
>>>> 2.17.1
>>>>
>>>> -- 
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>



More information about the Openembedded-core mailing list