From: Ricardo Simoes <[email protected]>

DirectFB explicitly supports usage of C++. With C++17 and later the below
warning is given:

lib/direct/util.h:223:19:
warning: ISO C++17 does not allow 'register' storage class specifier 
[-Wregister]
  223 |      register int ret = 0;
      |                   ^~~

To address that, this commit brings in the patch proposed by PR which
removes the usage of the register keyword:

https://github.com/deniskropp/DirectFB/pull/25

Signed-off-by: Ricardo Simoes <[email protected]>
Signed-off-by: Mark Jonas <[email protected]>
---
 .../recipes-graphics/directfb/directfb.inc    |  1 +
 ...irect-remove-use-of-keyword-register.patch | 44 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 
meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch

diff --git a/meta-oe/recipes-graphics/directfb/directfb.inc 
b/meta-oe/recipes-graphics/directfb/directfb.inc
index 313c9d16f..59796cc65 100644
--- a/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -25,6 +25,7 @@ SRC_URI = 
"http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.g
            
file://0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch \
            file://0001-include-libgen.h-for-basename.patch \
            
file://0001-inputdrivers-Correct-the-signature-of-bind-call-on-m.patch \
+           file://0001-libdirect-remove-use-of-keyword-register.patch \
            "
 
 S = "${WORKDIR}/DirectFB-${PV}"
diff --git 
a/meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch
 
b/meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch
new file mode 100644
index 000000000..24d977f4d
--- /dev/null
+++ 
b/meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch
@@ -0,0 +1,44 @@
+From f6cdb9f1c3dbef8ef695703a2a5fb4e92b2dd8a0 Mon Sep 17 00:00:00 2001
+From: Simon Barth <[email protected]>
+Date: Mon, 5 Aug 2024 19:35:16 +0200
+Subject: [PATCH] libdirect: remove use of keyword 'register'
+
+The 'register' keyword was removed in C++17 and is now unused and
+reserved. When compiling code that uses DirecthFB with C++17,
+compilation fails.
+
+Since modern compilers likely don't produce different code whether the
+'register' keyword is used or not, there shouldn't be any performance
+impact introduced by this change.
+
+Signed-off-by: Simon Barth <[email protected]>
+
+Upstream-Status: Submitted [https://github.com/deniskropp/DirectFB/pull/25]
+---
+ lib/direct/util.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/direct/util.h b/lib/direct/util.h
+index 2109b6ca1..734645796 100644
+--- a/lib/direct/util.h
++++ b/lib/direct/util.h
+@@ -220,7 +220,7 @@ void DIRECT_API direct_md5_sum( void *dst, const void 
*src, const int len );
+ static __inline__ int
+ direct_util_count_bits( unsigned int mask )
+ {
+-     register int ret = 0;
++     int ret = 0;
+ 
+      while (mask) {
+           ret += mask & 1;
+@@ -325,7 +325,7 @@ D_ICEIL(float f)
+ static __inline__ int
+ direct_log2( int val )
+ {
+-     register int ret = 0;
++     int ret = 0;
+ 
+      while (val >> ++ret);
+ 
+-- 
+2.25.1
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#111965): 
https://lists.openembedded.org/g/openembedded-devel/message/111965
Mute This Topic: https://lists.openembedded.org/mt/108104419/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to