diff mbox series

[meta-oe] flatcc: Fix build warnings found with clang-18

Message ID 20240202030226.392012-1-raj.khem@gmail.com
State Accepted
Headers show
Series [meta-oe] flatcc: Fix build warnings found with clang-18 | expand

Commit Message

Khem Raj Feb. 2, 2024, 3:02 a.m. UTC
Fix what we can, and also disable warning-as-error as some compilers can
be quite ambitious.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ndard-version-23-for-__fallthrough__.patch | 31 +++++++++++++++++++
 meta-oe/recipes-devtools/flatcc/flatcc_git.bb |  2 ++
 2 files changed, 33 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch b/meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch
new file mode 100644
index 0000000000..c9ff55a167
--- /dev/null
+++ b/meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch
@@ -0,0 +1,31 @@ 
+From 7c199e3b191a6f714694035f1eba40112e71675c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Feb 2024 18:41:51 -0800
+Subject: [PATCH] Check for C standard version >= 23 for [[__fallthrough__]]
+
+This avoids warnings with clang-18+ e.g.
+
+pprintint.h:256:6: error: [[]] attributes are a C23 extension [-Werror,-Wc23-extensions]
+
+Upstream-Status: Submitted [https://github.com/dvidelabs/flatcc/pull/273]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/flatcc/portable/pattributes.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/flatcc/portable/pattributes.h b/include/flatcc/portable/pattributes.h
+index 9240fa3..dd4918a 100644
+--- a/include/flatcc/portable/pattributes.h
++++ b/include/flatcc/portable/pattributes.h
+@@ -57,7 +57,7 @@ extern "C" {
+ 
+ 
+ /* https://en.cppreference.com/w/c/language/attributes/fallthrough */
+-#if PORTABLE_HAS_C_ATTRIBUTE(__fallthrough__)
++#if PORTABLE_HAS_C_ATTRIBUTE(__fallthrough__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+ # define pattribute_fallthrough [[__fallthrough__]]
+ #elif PORTABLE_HAS_ATTRIBUTE(__fallthrough__)
+ # define pattribute_fallthrough __attribute__((__fallthrough__))
+-- 
+2.43.0
+
diff --git a/meta-oe/recipes-devtools/flatcc/flatcc_git.bb b/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
index 660a44c5a5..161c4107b5 100644
--- a/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
+++ b/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
@@ -10,6 +10,7 @@  PV = "0.6.2+gitr${SRCPV}"
 
 SRC_URI = " \
            git://github.com/dvidelabs/flatcc.git;protocol=https;branch=master \
+           file://0001-Check-for-C-standard-version-23-for-__fallthrough__.patch \
 "
 SRCREV = "1653ec964730ec7d9892a08a1695ada6d20f5196"
 
@@ -22,6 +23,7 @@  inherit cmake
 EXTRA_OECMAKE += " \
     -DFLATCC_INSTALL=On \
     -DFLATCC_TEST=Off \
+    -DFLATCC_ALLOW_WERROR=Off \
 "
 
 BBCLASSEXTEND = "native nativesdk"