On Thu, Feb 20, 2025 at 10:43:09AM +0100, Agustin Martin wrote:
> On Mon, Feb 17, 2025 at 05:50:15PM +0000, Matthias Klose wrote:
> > Package: src:regina-rexx
> > Version: 3.9.5+dfsg1-0.1
> > Severity: important
> > Tags: sid forky
> > User: [email protected]
> > Usertags: ftbfs-gcc-15
> ...
> > To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
> > or install the gcc, g++, gfortran, ... packages from experimental.
> > 
> >   apt-get -t=experimental install g++ 
> 
> Checked by passing -std=gnu23 to compiler.

One more problem I found after disabling gci to mask previous error message

----
x86_64-linux-gnu-gcc -c -DNDEBUG -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/build/regina-rexx-3.9.5+dfsg1=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection 
-std=gnu23 -Wdate-time -D_FORTIFY_SOURCE=2 
-DREGINA_SHARE_DIRECTORY=\"/usr/share/regina-rexx\" -funsigned-char 
-DREGINA_VERSION_DATE=\""25 Jun 2022"\" -DREGINA_VERSION_MAJOR=\"3\" 
-DREGINA_VERSION_MINOR=\"9\" -DREGINA_VERSION_RELEASE=\"5\" 
-DREGINA_VERSION_SUPP=\"\" -DREGINA_BITS=64 -DHAVE_CONFIG_H    -I. -I. 
-I./contrib    -o regfilesys.o -fPIC -DDYNAMIC ./regutil/regfilesys.c
In file included from ./regutil/regfilesys.c:29:
./regutil/regutil.h:28:4: error: expected identifier before 'false'
   28 |    false,
      |    ^~~~~
./regutil/regfilesys.c: In function 'sysfiletree':
./regutil/regfilesys.c:994:12: warning: ignoring return value of 'getcwd' 
declared with attribute 'warn_unused_result' [-Wunused-result]
  994 |            getcwd(cp1, MAXPATHLEN+1);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:939: regfilesys.o] Error 1
----

Seems that there were some changes with booleans. I have been playing with
attached diff and minimally tested the results.

The problem that remains is the one I mentioned before. When gci is enabled, 
some errors
of this kind are shown

----
./gci/gci_call.c: In function 'doCall':
./gci/gci_call.c:75:8: error: too many arguments to function 'func'
   75 |       ((void (*)())func)( GCI_PASSARGS( buf ) );
      |       ~^~~~~~~~~~~~~~~~~
./gci/gci_call.c:63:33: error: too many arguments to function '(signed char 
(*)(void))func'
   63 |                                ((type (*)())func)( GCI_PASSARGS( buf ) 
); \
      |                                ~^~~~~~~~~~~~~~~~~
----

--- 
Agustin
--- a/config.h.in
+++ b/config.h.in
@@ -246,6 +246,9 @@
 /* Define if you have the <stdarg.h> header file.  */
 #undef HAVE_STDARG_H
 
+/* Define if you have the <stdbool.h> header file.  */
+#undef HAVE_STDBOOL_H
+
 /* Define if you have the <stdio.h> header file.  */
 #undef HAVE_STDIO_H
 
--- a/configure
+++ b/configure
@@ -4725,6 +4725,7 @@ for ac_header in \
    signal.h \
    socket.h \
    stdarg.h \
+   stdbool.h \
    stdio.h \
    statvfs.h \
    stdlib.h \
--- a/configure.in
+++ b/configure.in
@@ -179,6 +179,7 @@ AC_CHECK_HEADERS( \
    signal.h \
    socket.h \
    stdarg.h \
+   stdbool.h \
    stdio.h \
    statvfs.h \
    stdlib.h \
--- a/regutil/regutil.h
+++ b/regutil/regutil.h
@@ -24,10 +24,15 @@
 
 #include "rxproto.h"
 
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+typedef bool rxbool;
+#else
 typedef enum {
    false,
    true
 } rxbool;
+#endif
 
 void init_random(void);
 

Reply via email to