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

Joshua Watt jpewhacker at gmail.com
Thu Jun 6 21:15:12 UTC 2019


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