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@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.ro...@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@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to