We are getting this build failure[1] on s390x in dfltcc.c:

gcc -DHAVE_CONFIG_H -I. -I.. -I./lib -I../lib -Wdate-time
-D_FORTIFY_SOURCE=3 -DDFLTCC -DDFLTCC_LEVEL_MASK=0x7e -g -O2
-Werror=implicit-function-declaration -mbackchain
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects
-fstack-protector-strong -Wformat -Werror=format-security
-fno-stack-clash-protection
-fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/gzip-1.13-1ubuntu3~ppa1
-Wall -MT dfltcc.o -MD -MP -MF $depbase.Tpo -c -o dfltcc.o ../dfltcc.c
&&\
mv -f $depbase.Tpo $depbase.Po
../dfltcc.c:87:17: error: expected declaration specifiers or '...'
before numeric constant
   87 | char alignas (8) aligned;
      | ^
../dfltcc.c:88:1: warning: no semicolon at end of struct or union
   88 | };
      | ^
../dfltcc.c:139:17: error: expected declaration specifiers or '...'
before numeric constant
  139 | char alignas (8) aligned;
      | ^
../dfltcc.c:140:1: warning: no semicolon at end of struct or union
  140 | };
      | ^
make[3]: *** [Makefile:1946: dfltcc.o] Error 1

Looks like 1.13 did some refactoring for C23 support, but dfltcc.c is
still using the "alignas" keyword without an #ifdef. Since that file
is only used when building on s390x, that's where we are seeing this
error.

./gzip.c-   let's do that.  */
./gzip.c:#if defined HAVE_C_ALIGNASOF || defined alignas
./gzip.c:# define BUFFER_ALIGNED alignas (4096)
./gzip.c-#else
--
./dfltcc.c-  struct dfltcc_qaf_param af;
./dfltcc.c:  char alignas (8) aligned;
./dfltcc.c-};
--
./dfltcc.c-  struct dfltcc_param_v0 param;
./dfltcc.c:  char alignas (8) aligned;
./dfltcc.c-};


1. https://bugs.launchpad.net/ubuntu/+source/gzip/+bug/2100598/comments/2



Reply via email to