]> Savannah Git Hosting - gnulib.git/commit
Port July changes for [[...]] to C17
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 16 Sep 2024 04:20:15 +0000 (21:20 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 16 Sep 2024 04:23:13 +0000 (21:23 -0700)
commit4531edcf0558c5901c1b2782e3f3ab6ca48231f2
tree9bfad90499cb8f75ec7d47ce023b2322d5ef0e67
parent7720e84dd0d6f2724c74ad59b5cab8df8c2fda49
Port July changes for [[...]] to C17

The July 30 changes to _GL_FUNCDECL_RPL etc. to support use of
attributes in bracket syntax used a C23 preprocessor feature that is
a common extension to C17 and earlier, but which doesn’t work when
compiled with stricter C17-and-earlier compilers.  The feature is
using ‘#define f(a, ...) b’ and calling ‘f’ with only one arg.
Port back to C17 and earlier.  Problem discovered with
IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) on cfarm111.
* lib/c++defs.h (_GL_FUNCDECL_RPL): Turn this into two macros
_GL_FUNCDECL_RPL and _GL_FUNCATTR_RPL.  The first macro is for
functions without attributes, the second one for functions with
attributes.  All uses changed.
(_GL_FUNCDECL_SYS): Likewise, turn this into _GL_FUNCDECL_SYS
and _GL_FUNCATTR_SYS.
35 files changed:
ChangeLog
lib/arpa_inet.in.h
lib/c++defs.h
lib/dirent.in.h
lib/error.in.h
lib/fcntl.in.h
lib/fnmatch.in.h
lib/glob.in.h
lib/iconv.in.h
lib/inttypes.in.h
lib/locale.in.h
lib/malloc.in.h
lib/math.in.h
lib/mntent.in.h
lib/monetary.in.h
lib/netdb.in.h
lib/pthread.in.h
lib/search.in.h
lib/signal.in.h
lib/spawn.in.h
lib/stdio.in.h
lib/stdlib.in.h
lib/string.in.h
lib/sys_random.in.h
lib/sys_resource.in.h
lib/sys_socket.in.h
lib/sys_stat.in.h
lib/sys_time.in.h
lib/threads.in.h
lib/time.in.h
lib/uchar.in.h
lib/unistd.in.h
lib/utime.in.h
lib/wchar.in.h
lib/wctype.in.h