directfb: Fix C++17 build warning

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 <ricardo.simoes@pt.bosch.com>
Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Ricardo Simoes 2024-08-26 16:16:44 +02:00 committed by Khem Raj
parent 3f825482d3
commit a4cad069d2
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 45 additions and 0 deletions

View File

@ -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}"

View File

@ -0,0 +1,44 @@
From f6cdb9f1c3dbef8ef695703a2a5fb4e92b2dd8a0 Mon Sep 17 00:00:00 2001
From: Simon Barth <simon.barth@gmx.de>
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 <simon.barth@gmx.de>
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