diff mbox series

m4: Ensure ISO C23 compliance with clang 22

Message ID 20260401003904.3245438-1-khem.raj@oss.qualcomm.com
State New
Headers show
Series m4: Ensure ISO C23 compliance with clang 22 | expand

Commit Message

Khem Raj April 1, 2026, 12:39 a.m. UTC
From: Khem Raj <raj.khem@gmail.com>

fixes

| ../../sources/m4-1.4.20/tests/test-float-h.c:39:5: error: use of undeclared identifier 'FLT_IS_IEC_60559'
|    39 |     FLT_IS_IEC_60559 /* added in ISO C 23 */
|       |     ^~~~~~~~~~~~~~~~
| ../../sources/m4-1.4.20/tests/test-float-h.c:60:5: error: use of undeclared identifier 'DBL_IS_IEC_60559'
|    60 |     DBL_IS_IEC_60559 /* added in ISO C 23 */
|       |     ^~~~~~~~~~~~~~~~
| ../../sources/m4-1.4.20/tests/test-float-h.c:81:5: error: use of undeclared identifier 'LDBL_IS_IEC_60559'
|    81 |     LDBL_IS_IEC_60559 /* added in ISO C 23 */
|       |     ^~~~~~~~~~~~~~~~~
| ../../sources/m4-1.4.20/tests/test-float-h.c:284:11: error: use of undeclared identifier 'FLT_IS_IEC_60559'
|   284 |   ASSERT (FLT_IS_IEC_60559);
|       |           ^~~~~~~~~~~~~~~~
| ../../sources/m4-1.4.20/tests/test-float-h.c:383:11: error: use of undeclared identifier 'DBL_IS_IEC_60559'
|   383 |   ASSERT (DBL_IS_IEC_60559);
|       |           ^~~~~~~~~~~~~~~~
| ../../sources/m4-1.4.20/tests/test-float-h.c:479:11: error: use of undeclared identifier 'LDBL_IS_IEC_60559'
|   479 |   ASSERT (LDBL_IS_IEC_60559);
|       |           ^~~~~~~~~~~~~~~~~
| 6 errors generated.
| make: *** [Makefile:8331: test-float-h.o] Error 1

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/m4/m4-1.4.21.inc        |  1 +
 ...-fallback-definitions-for-C23-IEC-60.patch | 33 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 meta/recipes-devtools/m4/m4/0001-test-float-h-Add-fallback-definitions-for-C23-IEC-60.patch
diff mbox series

Patch

diff --git a/meta/recipes-devtools/m4/m4-1.4.21.inc b/meta/recipes-devtools/m4/m4-1.4.21.inc
index ce9fe2be8e..1af9b9a783 100644
--- a/meta/recipes-devtools/m4/m4-1.4.21.inc
+++ b/meta/recipes-devtools/m4/m4-1.4.21.inc
@@ -11,6 +11,7 @@  SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
 SRC_URI:append:class-target = " file://run-ptest \
                                 file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \
                                 file://serial-tests-config.patch \
+                                file://0001-test-float-h-Add-fallback-definitions-for-C23-IEC-60.patch \
                               "
 
 SRC_URI[sha256sum] = "38ae59f7a30bf9c108193cc5c25fbb06014f21e230c7ede2eff614f7b7c37ed8"
diff --git a/meta/recipes-devtools/m4/m4/0001-test-float-h-Add-fallback-definitions-for-C23-IEC-60.patch b/meta/recipes-devtools/m4/m4/0001-test-float-h-Add-fallback-definitions-for-C23-IEC-60.patch
new file mode 100644
index 0000000000..b524d94960
--- /dev/null
+++ b/meta/recipes-devtools/m4/m4/0001-test-float-h-Add-fallback-definitions-for-C23-IEC-60.patch
@@ -0,0 +1,33 @@ 
+From 0e7b8e00e0c670295340a6472f5d5a164697cdcd Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 1 Mar 2026 19:28:29 +0100
+Subject: [PATCH] float-h: Ensure ISO C23 compliance with clang 22.
+
+* m4/float_h.m4 (gl_FLOAT_H): Test also whether the provided <float.h>
+defines {FLT,DBL,LDBL}_IS_IEC_60559.
+
+Upstream-Status: Backport [https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=0e7b8e00e0c670295340a6472f5d5a164697cdcd]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ ChangeLog     | 6 ++++++
+ m4/float_h.m4 | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+--- a/m4/float_h.m4
++++ b/m4/float_h.m4
+@@ -1,5 +1,5 @@
+ # float_h.m4
+-# serial 16
++# serial 17
+ dnl Copyright (C) 2007, 2009-2026 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -63,6 +63,7 @@ changequote([,])dnl
+        [AC_LANG_PROGRAM(
+           [[#include <float.h>
+             int x[] = { FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, LDBL_DECIMAL_DIG };
++            int y[] = { FLT_IS_IEC_60559, DBL_IS_IEC_60559, LDBL_IS_IEC_60559 };
+             float maxf = FLT_NORM_MAX;
+             double maxd = DBL_NORM_MAX;
+             long double maxl = LDBL_NORM_MAX;